Comments 13
Ну я бы не сказал, что это однозначно правильно (и что это неправильно тоже бы не сказал), т.к. даже если заглянуть в код jQuery:
То мы увидим, что во-первых комментарий к этой функции: «For internal use only», а во-вторых она все равно вызывает jQuery.data
// For internal use only.
_data: function( elem, name, data ) {
return jQuery.data( elem, name, data, true );
},
То мы увидим, что во-первых комментарий к этой функции: «For internal use only», а во-вторых она все равно вызывает jQuery.data
> $(elem).data('events')
Странно, а у вас какой версии jQuery?
Странно, а у вас какой версии jQuery?
jQuery версии 1.4.2, и, в принципе то, он работать должен, просто я пишу приложение под SmartTV, где требуется использовать именно jQuery, который записан в телевизор. И даже при том, что это 1.4.2, на некоторых старых телевизорах работает он все равно не совсем правильно, т.к. браузер в телевизоре — это как IE7, только со своими причудами.
jQuery записан в телевизор
Будущее здесь.
А как насчет работы с этими обработчиками? И есть ли возможность через этот массив грубо говоря, повесить обработчик на обработчик?
Извините если глупость спросил, но иногда такая задача возникает, особенно при работе со сторонними плагинами.
Будущее здесь.
А как насчет работы с этими обработчиками? И есть ли возможность через этот массив грубо говоря, повесить обработчик на обработчик?
Извините если глупость спросил, но иногда такая задача возникает, особенно при работе со сторонними плагинами.
Спасибо, очень интересная статья.
Просто хочу оставить здесь ссылку на Visual Event: www.sprymedia.co.uk/article/Visual+Event (визуализация обработчиков jQuery). Возможно кто-то не знает.
P.S.: Полагаю, что конкретно в вашем случае он вероятнее всего не помог бы.
Просто хочу оставить здесь ссылку на Visual Event: www.sprymedia.co.uk/article/Visual+Event (визуализация обработчиков jQuery). Возможно кто-то не знает.
P.S.: Полагаю, что конкретно в вашем случае он вероятнее всего не помог бы.
Этот кусок немного про другое.
Это если у нас есть элемент
То выполнив
Мы получим результат foo
Это я так, для справки, т.к. в статье ничего не написано о том что на самом деле делает строчка кода из самого начала статьи.
$(elem).data('events');
Это если у нас есть элемент
<div data-events="foo"></div>
То выполнив
$('div').data('events');
Мы получим результат foo
Это я так, для справки, т.к. в статье ничего не написано о том что на самом деле делает строчка кода из самого начала статьи.
Да, в вашем случае так и будет.
Но, если элементу не прописать «data-events», то
вернет именно объект с обработчиками.
Способ получения обработчиков, описанный в самом начале статьи подходит, например, для получения обработчиков для объекта «document», т.к. врятли вы ему пропишите «data-events».
А в вашем приведенном примере обработчики можно получить так:
Но, если элементу не прописать «data-events», то
$('div').data('events');
вернет именно объект с обработчиками.
Способ получения обработчиков, описанный в самом начале статьи подходит, например, для получения обработчиков для объекта «document», т.к. врятли вы ему пропишите «data-events».
А в вашем приведенном примере обработчики можно получить так:
$._data( $('div').get(0) , 'events');
метод описанный автором показывает обработчики которые устанавливались с помощью jQuery.
т.е. если повесить обработчик на чистом JS то его там не увидите
т.е. если повесить обработчик на чистом JS то его там не увидите
Sign up to leave a comment.
Где jQuery хранит обработчики событий