jQuery не селектор не работает, что не так?

Я хочу что-то предупредить, когда пользователь щелкнул в любом месте документа, кроме div, у которого есть класс = 'reset_btn'. Я пробовал и not (), и: not (селектор), но они не работают.

Это мой код.

$('document').not('.reset_btn').click(function(){
   alert('Something');
});

Я создал демо в JSFiddle . В демо они ничего не предупреждают. Он должен предупредить, когда я щелкнул любую область вне div и не должен предупреждать, когда я щелкнул в области div.

Любое предложение? Большое спасибо.

0
nl ja de

2 ответы

$('document') is not a valid selector, since there's no document tag name. You could instead use $(document), which'll use the document element, but that's not needed here. Just use :not() directly:

$(':not(.reset_btn)').click(function(){
   alert('Something');
});

Чтобы оптимизировать это, вы должны использовать делегирование событий :

$(document).on('click', ':not(.reset_btn)', function(){
   alert('Something');
});
3
добавлено

Вы можете использовать на , чтобы делегировать событие в документ.

$(document).on("click", ':not(.reset_btn)').click(function(){
   alert('Something');
});
2
добавлено
<Код> .он (). Нажмите() ?
добавлено автор Joseph Silber, источник
Обновлен мой ответ.
добавлено автор Adil, источник
On используется для привязки события, которое можно щелкнуть, мыши, мыши и т.д.
добавлено автор Adil, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda