Javascript 从链接调用tampermonkey函数

Javascript 从链接调用tampermonkey函数,javascript,function,hyperlink,call,tampermonkey,Javascript,Function,Hyperlink,Call,Tampermonkey,如何从链接调用tampermonkey函数 这是我试过的。使用tampermonkey,我可以插入一个链接,如下所示: var aNode = document.createElement('a'); var aText = document.createTextNode('will it run'); aNode.appendChild(aText); aNode.href = 'javascript:runTest();'; document.body.insertBefore(aNode

如何从链接调用tampermonkey函数

这是我试过的。使用tampermonkey,我可以插入一个链接,如下所示:

var aNode = document.createElement('a'); 
var aText = document.createTextNode('will it run');
aNode.appendChild(aText);
aNode.href = 'javascript:runTest();';
document.body.insertBefore(aNode, document.body.firstChild);

function runTest() {
   alert('it ran!');
};
调用链接时,应调用函数runTest()。事实并非如此。相反,会出现以下错误消息:

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


不要这样设置javascript处理程序。使用
addEventListener()
,如下所示:

var aNode   = document.createElement ('a');
var aText   = document.createTextNode ('will it run');
aNode.href  = '#';
aNode.appendChild (aText);
document.body.insertBefore (aNode, document.body.firstChild);

aNode.addEventListener ("click", runTest, false);

function runTest (zEvent) {
    zEvent.preventDefault ();
    zEvent.stopPropagation ();

    alert('it ran!');
};

非常感谢。这正是我想要的,除了更干净整洁的代码。