0

我正在编写一个 chrome 扩展,我正在尝试添加一个调用 javascript 函数的链接,就像在问题中一样

但是,当我单击链接时,什么也没有发生 - 当我查看调试控制台时,“a”节点根本没有“onclick”属性,它看起来像这样:

<a href="#">Add to likes</a>

这是我的代码:

function generateEntry(innerEntry) {    
    var a = document.createElement('a');
    var linkText = document.createTextNode("Add to likes");
    a.appendChild(linkText);
    a.onclick="addToLikes('" + "hello" + "')"
    a.href = "#";
    return a
}

如果我在调试控制台中手动添加“onclick”声明,一切正常。

<a href="#" onclick="addToLikes('hello2')">Add to my likes</a>

我的脚本有什么问题?

4

2 回答 2

0

onclick属性将函数作为其值,而不是字符串。

function addHelloToLikes() {
    addToLikes("hello");
}

a.onclick = addHelloToLikes;

您可能希望改用更现代的addEventListener方法

于 2013-08-01T12:18:55.387 回答
0

您必须使用 onclick 功能

function generateEntry(innerEntry) {    
    var a = document.createElement('a');
    var linkText = document.createTextNode("Add to likes");
    a.appendChild(linkText);
    //a.onClick="addToLikes('" + "hello" + "')"
    a.onclick = function () {
    addToLikes('hello2');
    };
    a.href = "#";
    return a
}
于 2013-08-01T12:14:43.043 回答