Поймать событие изменения data-*
Привет всем!
Возникает ли какое-то событие при изменении атрибута DOM-элемента data? .change() , как я понял, не срабатывает. Т.е.: если где-то выполняется $('#some_selector').data('id', 'some_value'), то можно ли повесить обработчик на событие изменения .data('id')? |
dmsuslov, нет событий по изменению свойств или атрибутов элементов... :no:
|
Цитата:
|
Не так изящно получается... Действительно, видимо придется "вручную" генерировать событие :-)
Спасибо ответившим! |
<body> <input type="button" id="test_value" data-id="off" value="Click Me"> <script> window.onload = function(){ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var observer = new MutationObserver(function(mutations){ mutations.forEach(function(mutation){ console.dir(mutation) alert(mutation.attributeName + ' Value: ' + target.getAttribute(mutation.attributeName)); }); }); var target = document.getElementById('test_value'); observer.observe(target, {attributes: true}); target.addEventListener('click', function(){ this.dataset.id = 'on'; }); } </script> </body> вариант использования Observer, думаю, что еще через гетеры сеттеры можно реализовать |
Часовой пояс GMT +3, время: 12:04. |