javascript - 将按钮插入到内容脚本的 DOM 中

标签 javascript jquery html firefox-addon

我正在编写一个 Firefox 扩展,但遇到以下问题:

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

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

用户单击按钮后,应启动内容脚本中的函数,但我总是收到错误 Fehler:buttonClick 未定义

我如何对脚本中插入按钮的事件使用react?谢谢:)

整个相关代码:

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);
        });
    }
});

插入InDom.js:

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

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

最佳答案

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

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

文档:http://api.jquery.com/on/

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

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

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

相关文章:

javascript - Ajax调用不将数据存储在数组中

javascript - jquery datepicker onselect 事件在 IE 11 中显示无效日期

javascript - 具体网址路径

javascript - 为什么人物在 Canvas 上显得扭曲?

Javascript toLocaleString 未使用正确的格式

javascript - 如何禁用 Kendo UI 中的默认 css?

javascript - 转换图标动画

css - 两个 float 的 div,中间有一个灵活的 div

javascript - 外部 javascript 不适用于 onsen 框架

javascript - 在 List.js 中创建链接