Почему я не могу нацелиться на определенные c классы в обработчике щелчков окна с помощью jQuery? - PullRequest
0 голосов
/ 08 апреля 2020

Я только что заметил, что хотя это работает для цели <a href="#" class="some-class">Click me</a>:

$(document).on('click', '.some-class', event => { ... })

Следующее не делает:

$(window).on('click', '.some-class', event => { ... })

Однако, это регистрирует щелчок на элементе:

$(window).on('click', event => { ... })

Почему?

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Это потому, что window не является частью DOM, поэтому события не всплывают, чтобы быть перехваченными вашим делегированным обработчиком событий.

0 голосов
/ 11 апреля 2020

Это имеет меньшее отношение к событиям, которые не всплывают до window, но неспособны jQuery выбирать элементы, когда элемент root равен window. $(window).find(...) всегда будет возвращать пустую коллекцию.

...