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。