Глобальное событие, если выбор jQuery не возвращает элементов? - PullRequest
2 голосов
/ 03 марта 2010

Есть ли способ для глобального мониторинга или прослушивания, если выбор сделан в jQuery и он не возвращает никаких элементов? E.g.:

У вас есть страница с:

<div id=”some-id”></div>

А в JavaScript кто-то пытается получить элемент, но неправильно набирает id:

$(“#someid”)

Есть ли способ глобальной обработки, когда выбор jQuery не возвращает элементов?

1 Ответ

1 голос
/ 03 марта 2010

Нет. Вы можете убедиться в этом, посмотрев на источник, который обрабатывает этот случай. Посмотрите (в данном случае) jquery-1.4.2.js и найдите строку:

                // HANDLE: $("#id")

Вы увидите, что нет механизма обратного вызова. Он просто возвращается, если нет результата. Однако объект результата всегда будет иметь length (или .size()), равный 0, поэтому вы можете проверить отдельные результаты.

Если вы хотите это сделать, вы можете либо выполнить все запросы на странице с помощью пользовательской функции, либо изменить jQuery. К сожалению, поскольку центральная функция (jQuery.fn.init) очень длинная и имеет несколько целей, нет другого способа сделать это, кроме как изменить сам файл jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...