GreaseMonkey onclick装订

GreaseMonkey onclick装订,greasemonkey,Greasemonkey,当我编写GreaseMonkey脚本时,如果我创建了一个div并将onclick设置为alert,它就会工作: var btn=document.createElement('div'); btn.setAttribute('onclick','alert('clicked!');'); 但是,如果我要求它执行前面定义的其他操作,那么它将失败: 函数graphIt(){…}; var btn=document.createElement('div'); setAttribute('oncl

当我编写GreaseMonkey脚本时,如果我创建了一个div并将onclick设置为alert,它就会工作:


var btn=document.createElement('div');
btn.setAttribute('onclick','alert('clicked!');');

但是,如果我要求它执行前面定义的其他操作,那么它将失败:


函数graphIt(){…};
var btn=document.createElement('div');
setAttribute('onclick',“graphIt();”);


有什么方法可以将函数绑定到div的onclick事件吗?

您的问题是,由于您将属性设置为字符串,因此它在页面本身的上下文中计算字符串,而页面本身没有
graphIt
函数

您应该调用该方法,如下所示:

function graphIt() {...}; var btn = document.createElement('div'); 
btn.addEventListener("click", graphIt, false);

我想调用的函数,也调用了一些其他函数。这个函数还能用吗?我试过了,当页面加载时按钮会自动点击…@geekscrap:你可能调用了函数而不是传递它。好的,是的,这是正确的!你能告诉我为什么会这样吗?TIA@geekscrap:这是一个函数。当你调用它时,它会运行。