Jquery проверка наличия live обработчика?

Есть ли какие то наработки по сабжу?



Понятно, что isDefaultPrevented не работает (а жаль:)).



Нужно для того, чтобы выполнить функцию в том случае, если на элемент не навешен ни один обработчик (включая live и прямые навешивания)

Конечно можно для таких элементов, к примеру, добавил специальный класс, но не охота лопатить весь html код.



Спасибо
  • Вопрос задан
  • 3440 просмотров
Пригласить эксперта
Ответы на вопрос 4
Riateche
@Riateche
Напишите обертку для live (какую-нибудь jQuery.fn.my_live), которая с помощью data() добавляет в объект пометку о навешенном обработчике, а затем вызывает live. И по всему коду замените live на my_live. В дальнейшем с помощью data ищете в объекте пометку: если ее нет, значит, обработчика нет.
Ответ написан
taliban
@taliban
php программист
можно проверить любой обработчик кроме live и delegate.
Ответ написан
Комментировать
@nonexistent
возможно это костыль — не знаю ситуацию, но для live есть die
Ответ написан
@1nd1go
Внутрях есть массив обработчиков: handlers называется. МОжно по коду поискать. Его вроде достать можно через data(«events»). Так соответственно и принимается решение о наличии обработчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы