Javascript 添加一个在单击时调用内容脚本函数的按钮?

Javascript 添加一个在单击时调用内容脚本函数的按钮?,javascript,jquery,google-chrome,google-chrome-extension,content-script,Javascript,Jquery,Google Chrome,Google Chrome Extension,Content Script,我在Google Chrome extension的content.js中有以下代码: jQuery(document).ready(function () { jQuery("body").html('<input type="button" id="soso" value="asd" onclick="goFrame()" />'); }); function goFrame() { alert('Value'); } jQuery(文档).ready(函数()

我在Google Chrome extension的content.js中有以下代码:

jQuery(document).ready(function () {
    jQuery("body").html('<input type="button" id="soso" value="asd" onclick="goFrame()" />');
});
function goFrame() {
    alert('Value');
}
jQuery(文档).ready(函数(){
jQuery(“body”).html(“”);
});
函数goFrame(){
警报(“值”);
}
该按钮已成功创建,但当我单击它时,消息并未显示,我在Google Chrome控制台中遇到以下错误:

未捕获引用错误:未定义goFrame

第一读

要解决此问题,请摆脱内联事件侦听器,并动态绑定事件:

    ...
    var $input = $('<input type="button" id="soso" value="asd">').click(goFrame);
    jQuery("body").html($input);
});
function goFrame() {
    alert('Value');
}
。。。
var$input=$('')。单击(goFrame);
jQuery(“body”).html($input);
});
函数goFrame(){
警报(“值”);
}
第一次读取

要解决此问题,请摆脱内联事件侦听器,并动态绑定事件:

    ...
    var $input = $('<input type="button" id="soso" value="asd">').click(goFrame);
    jQuery("body").html($input);
});
function goFrame() {
    alert('Value');
}
。。。
var$input=$('')。单击(goFrame);
jQuery(“body”).html($input);
});
函数goFrame(){
警报(“值”);
}

您单击的creatings onclick按钮指向页面上下文中的goFrame。其中,代码中的goFrame函数位于内容脚本的上下文中,因为它是在那里声明的。在
JQuery(“body”)…
之后添加行
document.querySelector('#sos')。onclick=goFrame@PAEz很容易学jQuery;)要绑定点击事件,请使用
。click()
-@Rob W我有惊人的记忆力,所以喜欢只使用JS,特别是因为我只使用Chrome,所以有所有这些好的新东西……让事情对我来说很简单:)你的创建onclick按钮指向页面上下文中的goFrame。其中,代码中的goFrame函数位于内容脚本的上下文中,因为它是在那里声明的。在
JQuery(“body”)…
之后添加行
document.querySelector('#sos')。onclick=goFrame@PAEz很容易学jQuery;)要绑定点击事件,请使用
.click()
-@Rob W我有惊人的记忆力,所以喜欢只使用JS,特别是因为我只使用Chrome,所以有所有这些漂亮的新东西……让事情对我来说很简单:)