2013-09-12 14 views
1

Я пытаюсь использовать следующий скрипт, чтобы кнопка захлопнула его меню, щелкнув его.Неисправность использования этого скрипта, чтобы закрыть кнопку, нажав внешний вид

$(document).ready(function(){ 

$('#trigger').click(function(event){ 

    event.stopPropagation(); 

    $('#drop').toggle(); 

}); 

$(document).click(function(){ 

    $('#drop').hide(); 

});}); 

Вы можете увидеть демо ([Ideal скрипку]) (http://jsfiddle.net/craigmdennis/H2Chj/2/)

Но моя кнопка ([Проблемные скрипку]) (http://jsfiddle.net/xJ9ug/) не работает, что хорошо. Для открытия меню требуется несколько щелчков мышью. Не могли бы вы рассказать мне, что случилось с css или скриптом? Буду признателен за любую оказанную помощь.

ответ

-1

Добавить .dropdown_content Ли а, его работы сейчас ..

$(document).ready(function(){ 

    $('.dropdown').click(function(event){  
     event.stopPropagation();   
     $('.dropdown_content li a').toggle();  
    }); 
}); 
+0

, когда пользователь нажимает на любое другое выпадающее меню. функциональность перестает работать. Думаю, это не так. –

+0

Неправильно, работает только в первый раз, когда его нажимают –

+0

он работает нормально, пока не нажмет на эту область ... но не удастся один раз щелкнуть документ, я работаю над ним. – Sasidharan

2

на самом деле ваш код правильный .. причина, почему она не работает, это есть <input type="checkbox" /> внутри диапазона и нажмите событие добавляется для пяди. Я не знаю точную причину, почему флажок не впустить событие, но распространение информации о снятии флажка работает как шарм ..

и да еще одну вещь you haven't closed first span tag properly.

рабочую демо-версию без флажка HERE

используйте addClass() и removeClass(), чтобы получить эффект, который у вас была демонстрация.

благодаря

3

ЗАКАНЧИВАТЬ this скрипку. Все, что вам нужно, это простая проверка состояния, чтобы сделать эту работу.

if ($('#dropdown').has(e.target).length === 0) 
Смежные вопросы