javascript - 在DOM到内容脚本中插入了Button

原文 标签 javascript jquery html firefox-addon

我正在写一个firefox扩展名,并且有以下问题:

我在内容脚本(insertInDom.js)内添加了一个按钮

$('#leftCol').append("<input type='button' value='Check Privacy' onclick=\"buttonClick()\" >");


用户单击按钮后,应该启动内容脚本中的功能,但是我总是收到错误提示:未定义buttonClick

如果脚本中插入了Button,我该如何应对?谢谢 :)

整个相关代码:

main.js

var pageMod = require("page-mod");
pageMod.PageMod({
    include: ["http://www.facebook.com/"],
    contentScriptWhen: 'ready',
    contentScriptFile: [data.url('jquery-1.6.4.js'),
                       data.url('insertInDom.js')],
    onAttach: function(worker) {
        worker.port.on('buttonClicked', function(content) {
            console.log(content);
        });
    }
});


insertInDom.js:

function buttonClick(){
    self.port.emit("buttonClicked", "true");
}

$('#leftCol').append("<input type='button' value='Check Privacy' onclick=\"buttonClick()\" >");

最佳答案

从jQuery 1.7开始,我认为添加click事件的适当方法(甚至是在加载初始页面后创建的DOM元素中也是如此):

$("#dataTable tbody tr").on("click", function(event){
alert($(this).text());
}); 


docs:http://api.jquery.com/on/

因此,您可以尝试在输入中添加一个ID,然后添加以下内容:

   $("#myInput").on("click", function(event){
      self.port.emit("buttonClicked", "true");
    }); 

关于javascript - 在DOM到内容脚本中插入了Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248952/

相关文章:

javascript - 动态创建的列表的此选择器也引用父级

javascript - 有没有办法用php检查网址中的特定参数?

javascript - 删除DOM中的小数位

javascript - 如何限制 datepicker 继承与 table 相关的 CSS?

html - 如何在左侧导航栏上使用topnav

javascript - 可以使用 Math.random() 生成密码重置 key 吗?

javascript - jQuery幻灯片代码无法正常工作

jquery - 动态创建的div定位问题

jquery - $ .ajax仅在放置alert()时起作用

html - 可变高度的 float 元素将 sibling 推下