Я программирую мое расширение Chrome Extreme, являющееся новичком в Javascript, и у меня есть следующая проблема: я хочу выбрать область хэш-тега Twitter, которая является ul с li внутри, ожидая добавления нового li для вызова функции. Я не знаю, как сделать триггер, потому что ни один из них не работал:
//The <ul> from hashtag area:
var tl = document.getElementsByClassName('trend-items')[0];
//1.
tl.onchange = function(){
doMyThings();
}
//2.
tl.addEventListener("change", function(){
doMyThings();
});
Более того, когда я меняю экран, не выходя из Twitter (я имею в виду, попадая в профиль, например), мой код не выполняется.
Спасибо!
UL
нет события изменения, но вы можете достичь этого MutationObserver
как следующим образом. Вставьте или удалите любой элемент li
изнутри .trend-items
вы увидите, что каждый раз функция doMyThings
запускается.
<ul class="trend-items">
<li>item one1</li>
<li>item one2</li>
</ul>
var tl = document.getElementsByClassName('trend-items')[0];
var config = { childList: true };
var doMyThings = function(mutationsList) {
console.log('UL item inseted/deleted');
};
var observer = new MutationObserver(doMyThings);
observer.observe(tl, config);
onchange
связанных с тегамиul
.MutationObserver
: developer.mozilla.org/en-US/docs/Web/API/MutationObserver