Google chrome extension jQuery-Can';t将事件绑定到动态创建的DOM元素

Google chrome extension jQuery-Can';t将事件绑定到动态创建的DOM元素,google-chrome-extension,Google Chrome Extension,我可以在页面中已经存在的元素中使用,但如果我尝试在页面动态创建的元素中使用它,则不会触发事件。 我尝试使用length警告页面中的动态创建元素计数,结果显示为0。是否有特定方法将事件绑定到扩展名JS文件中的动态创建元素我正在manifest.json中的content\u脚本中加载我的JS文件 我使用的JS事件绑定脚本是: $(document).on('click','#myBtn',function(){ alert('ok'); }); 清单: { "manifest_ver

我可以在页面中已经存在的元素中使用
,但如果我尝试在页面动态创建的元素中使用它,则不会触发事件。
我尝试使用
length
警告页面中的动态创建元素计数,结果显示为0。

是否有特定方法将事件绑定到扩展名JS文件中的动态创建元素

我正在
manifest.json
中的
content\u脚本中加载我的JS文件

我使用的JS事件绑定脚本是:

$(document).on('click','#myBtn',function(){
    alert('ok');
});
清单:

{
  "manifest_version": 2,

  "name": "My Cool",
  "description": "Description.",
  "version": "0.1",
  "permissions": [
    "storage"
  ],
  "content_scripts": [
    {
        "matches": ["http://forum.com.br/*"],
        "js": ["jquery.min.js", "core.js"]
    }
]
}
JSFiddle:

我创建了一个简单的google chrome扩展项目,其中包含jquery-1.11.1.js、manifest.json和myscript.js文件

json包含

{
    "manifest_version": 2,

    "name": "test extension",
    "description": "This extension is for test.",
    "version": "1.0",

    "permissions": [
        "storage"
    ],
    "content_scripts": [
        {
            "matches": [
                "http://*/*",
                "https://*/*"
                ],
            "js": ["jquery-1.11.1.js","myscript.js"]
        }
    ]
}
而myscript.js包含

console.log("log from extension");
$("#header").on('click','#formSubmit',function(){
  alert('Okey');
});

我已经在google chrome中加载了这个扩展项目,并手动打开并添加了
Well id是单数的…并且该代码应该可以工作。我也会对一些跨距执行此操作,但它对跨距和此按钮都不起作用。请检查您的页面中是否已经存在相同的id“myBtn”。您可以在控制台$(“#myBtn”)中检查它,然后在“元素面板中显示”。检查它是否与您绑定单击事件的按钮相同?@tusharaj,是,当我在页面中运行此命令时,我可以通过它的id找到它。您是否100%确定它是页面上唯一具有此id的元素?跨度是动态添加的吗?我在加载文档后手动添加了它。因此它可以被称为动态。我已经使用
document.getElementById('header')添加了span。innerHTML='好的,谢谢你的帮助,我今天晚些时候会更深入地研究它。好的。您还可以在
上查看
run\u。