为什么Chrome扩展程序中的jQuery点击事件脚本只运行一次?

时间:2016-09-14 18:17:06

标签: javascript jquery google-chrome google-chrome-extension

为什么脚本只能为Chrome扩展程序运行一次?这是我们的代码:

inject.js

var s = document.createElement('script');
// TODO: add "script.js" to web_accessible_resources in manifest.json
s.src = chrome.extension.getURL('script.js');
s.onload = function() {
    this.remove();
};
(document.head || document.documentElement).appendChild(s);

$( document ).ready(function() {
    console.log("start")
    //$("body").bind("DOMSubtreeModified", function() {
        $("#btn").click(function(){
            console.log("do something")
        });
    //});
});

每次点击#btn时都会触发点击事件的预期行为,但是只有在页面重新加载并且后续点击不会触发可能存在的错误时才会生效?< / strong>

如果我们绑定到DOMSubtreeModified,则每次都会触发click事件,但是有副作用,因为我们的实际代码调用ajax资源,绑定到DOMSubtreeModified会连续触发ajax请求页面DOM更改。

0 个答案:

没有答案