我正在编写我的第一个使用Javascript初学者的Chrome扩展程序,我有下一个问题: 我想选择Twitter的hashtag区域,这是一个带有li的ul,等待添加一个新的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的情况下更改屏幕(我的意思是,例如进入个人资料)时,我的代码无法执行。
谢谢!
答案 0 :(得分:0)
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);