2013-03-27 5 views
2

это может звучать как глупые вопросы, но есть ли что-то, что я могу назвать для offclick-событий для exmaple. У меня это сейчас;Jquery off функция щелчка?

$("#frame_left").click(function() { 
    $("#navLeft").show(); 
}); 

Я хочу, чтобы скрыть #navLeft содержание как только пользователь отключился кнопки радио?

+0

иначе известного как 'onmouseup'? или вы имеете в виду, нажимая на что-либо, что не является элементом или дочерним элементом этого элемента. –

+2

Что именно означает «щелчок»? Выбор другого переключателя? – JJJ

+0

Дайте каждому из ваших переключателей класс, зарегистрируйте событие «Click» в этом классе и проверьте, выбран ли выбранный переключатель. –

ответ

2

Это должно работать на вас:

$('html').click(function() { 
    $("#navLeft").hide(); 
}); 

И затем обязательно, чтобы предотвратить событие от распространяющихся при нажатии #frame_left элемента:

$("#frame_left").click(function(e) { 
    $("#navLeft").show(); 
    e.stopPropagation(); 
}); 
+0

Спасибо, и всем, кто помог – Nat

5

Добавить событие щелчка для всего документа:

$(document).click(function(e) { 
    $('#navLeft').hide(); 
}); 

Затем остановить распространение на элементе, так что это не пузырь до документа:

$("#frame_left").click(function(e) { 
    e.stopPropagation(); 
    $("#navLeft").show(); 
}); 

http://api.jquery.com/event.stopPropagation/

+0

меня это до сих пор уже - \t \t \t \t \t \t \t \t \t \t $ (документ) .ready (функция() { \t \t \t \t \t \t \t \t \t \t // сделать ваши проверки радиокнопок здесь и показать/скрыть то, что вы хотите . 0 \t \t \t \t \t \t \t \t \t $ ("# navLeft") скрыть(); . \t \t \t \t \t \t \t \t \t \t $ ("# navRight") скрыть(); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t // добавить функциональность для onclicks здесь \t \t \t \t \t \t \t \t \t \t $ ("# frame_left").нажмите (функция() { \t \t \t \t \t \t \t \t \t \t $ ("# navLeft") шоу();. \t \t \t \t \t \t \t \t \t \t}); \t \t \t \t \t \t \t \t \t \t \t $ ("# frame_right"). Нажмите (функция() { \t \t \t \t \t \t \t \t \t \t \t $ ("# navRight"). Шоу() ; \t \t \t \t \t \t \t \t \t \t}); \t \t \t \t \t \t \t \t \t \t}); \t \t \t \t \t \t \t \t \t – Nat

+0

Это не форматировать в комментарии. Создайте http://jsfiddle.net или добавьте его в свой оригинальный вопрос. – Blazemonger

+0

@ Почитайте ответ более внимательно. Blazemonger говорит вам использовать '$ (document) .click' not' $ (document) .ready' (хотя вы должны называть '.click' внутри' .ready') –

Смежные вопросы