Я попробовал ответ, предложенный здесь , который следует почти за всеми ответами на подобные / повторяющиеся вопросы. Проверка .data('events')
просто не работает, возвращая undefined
для объектов, которые я ранее ( немедленно при этом ) зарегистрировал событие для.
Теперь, предостережение в том, что я на самом деле регистрирую указанные события с помощью .live()
, а не .bind()
или методов псевдонимов.
Я только что прочитал ( до того, как я даже опубликовал вопрос ) из jQuery на .live()
следующее:
Метод .live()
способен воздействовать на элементы, которые еще не были добавлены в DOM, с помощью делегирования событий: обработчик, связанный с элементом-предком, отвечает за события, которые запускаются на его потомках. Обработчик, переданный в .live()
, никогда не привязывается к элементу; вместо этого .live()
связывает специальный обработчик с корнем дерева DOM . В приведенном выше примере при нажатии нового элемента ...
Учитывая эту информацию, что бы я сделал (, если это вообще возможно ), чтобы проверить, "зарегистрировано" ли событие для данного объекта с .live()
? С этой недавно найденной информацией, я предполагаю, что она начнется с объекта window
или document
...
Обновление идеи: Если есть способ задействовать возможности мониторинга DOM .live()
, возможно, я мог бы просто перепривязывать события через .bind()
всякий раз, когда происходит изменение ( идентично до .live()
, однако с поддержкой проверки .data('events')
, поскольку события непосредственно связаны. )