2014-10-28 5 views
0

Я в основном хочу сохранить состояние некоторого объекта, чтобы восстановить его позже, эти объекты не привязаны к DOM и не являются элементами html, а просто объектами в Javascript. Меня не интересует инструмент отладчика/визуализации.Получить все прослушиватели событий, которые находятся на объекте в javascript

Но мне нужен фактический код пользовательских прослушивателей событий, которые также привязаны к объекту.

Эти прослушиватели событий были прикреплены через jQuery, и функции были анонимными и предоставлены пользователем.

Есть ли все-таки для этого?

+0

Или http://stackoverflow.com/questions/2518421/jquery-find-events-handlers-registered-with-an-object – Hless

+1

не может быть сделано, хотя вы можете в консоли (но это не полезно в производстве) – Markasoftware

ответ

2

Один хитрый способ заключается в использовании внутренней функции JQuery в _data(), чтобы получить эти:

var element = document.querySelector('#its-your-thing'), 
    list_of_events = $._data(element, "events"); 

Тщательное мысль, у меня нет информации о его поведении в разных версиях (работает по крайней мере в 1.9.0)

+0

Это работало для меня при тестировании, но я решил решить проблему по-другому, потому что это внутренняя функция JQuery. – axawire

+3

Я получаю undefined в jQuery 3.1.0. Любой другой способ получить прослушиватели событий на объекте? – FrenkyB

Смежные вопросы