GreaseMonkey onclick绑定

时间:2009-11-11 21:53:15

标签: greasemonkey

当我写一个GreaseMonkey脚本时,如果我创建一个div并设置onclick来提醒它有效:

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

但是,如果我要求它做一些之前定义的其他事情,那么它就会失败:

function graphIt() {...}; var btn = document.createElement('div'); btn.setAttribute('onclick',"graphIt();");

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

1 个答案:

答案 0 :(得分:10)

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

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

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