Другие языки программирования и технологии
jQuery not()
$("body:not('#div_vhod')").click(function(){$('#passw_vhod').fadeOut(200); $('#subm_vhod').fadeOut(200); $('#a_vhod').fadeOut(200);}); почему при клике по блоку div с идентификатором div_vhod, все равно проходит функция? Ведь я же указал в условии, что этот div у нас исключение
этот селектор отфильтровывает элементы и добавляет им описанные действия и т. п
если надо запретить используйте disabled http://jquery-docs.ru/selectors/disabled/
если надо запретить используйте disabled http://jquery-docs.ru/selectors/disabled/
Селектор :not() - это действительно фильтр. Тут использовать не выйдет. если бы, скажем мы выбирали все блоки и хотели бы исключить блок id="div_vhod", то тогда так:
$('div:not(#div_vhod)')....
- вторые кавычки внутри не нужны. А ты выбрал "все body", кроме body id="div_vhod". ))
Но есть еще такая загвоздочка. Если блок id="div_vhod" находится внутри какого либо блока1, (а если мы весь body задействуем, то он точно внутри) , то клик на этом блоке все равно будет вызывать функцию, которая прописана для блока1.
Например, мы пишем так:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').click(function(){ alert('click B!'); });
Тогда клик на id="div_vhod" сначала вызовет alert('click B!'); а потом еще и alert('click A!');
А если мы напишем так:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').click(function(){ return false; });
Тогда при клике на id="div_vhod" (и любой элемент внутри него) ничего не произойдет. alert'oв не будет.
Аналогично (только по результату) сработает такой вариант:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').bind('click', function(event){
event.stopPropagation();
});
Ну, т. е. с твоим кодом так:
$("body").click(function(){ $('#passw_vhod').fadeOut(200); $('#subm_vhod').fadeOut(200); $('#a_vhod').fadeOut(200); });
$('#div_vhod').bind('click', function(event){
event.stopPropagation();
});
:disabled - это тоже фильтр для выборки элементов с атрибутом disabled. Тут не прокатит. Этот атрибут для элементов форм хорошо использовать - полей, например.
$('div:not(#div_vhod)')....
- вторые кавычки внутри не нужны. А ты выбрал "все body", кроме body id="div_vhod". ))
Но есть еще такая загвоздочка. Если блок id="div_vhod" находится внутри какого либо блока1, (а если мы весь body задействуем, то он точно внутри) , то клик на этом блоке все равно будет вызывать функцию, которая прописана для блока1.
Например, мы пишем так:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').click(function(){ alert('click B!'); });
Тогда клик на id="div_vhod" сначала вызовет alert('click B!'); а потом еще и alert('click A!');
А если мы напишем так:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').click(function(){ return false; });
Тогда при клике на id="div_vhod" (и любой элемент внутри него) ничего не произойдет. alert'oв не будет.
Аналогично (только по результату) сработает такой вариант:
$('body').click(function(){ alert('click A!'); });
$('#div_vhod').bind('click', function(event){
event.stopPropagation();
});
Ну, т. е. с твоим кодом так:
$("body").click(function(){ $('#passw_vhod').fadeOut(200); $('#subm_vhod').fadeOut(200); $('#a_vhod').fadeOut(200); });
$('#div_vhod').bind('click', function(event){
event.stopPropagation();
});
:disabled - это тоже фильтр для выборки элементов с атрибутом disabled. Тут не прокатит. Этот атрибут для элементов форм хорошо использовать - полей, например.
Похожие вопросы
- Хочу добавить красоты на сайт, jquery (джава)
- Вопрос по jQuery и Ajax
- Трабл с Фотошопом : "Could not load default swatches becuase the file could not be found."
- Что такое JQuery и Ajax? Объясните в двух словах. Как применяется, зачем, чем интерпретируется...
- Не могу отправить POST запрос средством jQuery
- javascript, jquery :почему у меня функция setInterval() работает только один раз????(код внутри)
- Простой поиск при помощи PHP, jQuery и MySQL на ruseller.com
- Достаточно в 14 лет знать html php css pascal javascript и jquery?
- Хороший ли заработок от создания сайтов? Если в идеале овладеть html, css, php, mysql, javascript, jquery, фотошопом
- Sos! Sony vaio: operation system not found