Onclick语句没有显示出来

时间:2013-08-01 12:12:14

标签: javascript google-chrome-extension

我正在编写Chrome扩展程序,我正在尝试添加一个调用javascript函数的链接,正好是like in the question

然而,当我点击链接时,没有任何反应 - 当我查看调试控制台时,“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>

我的剧本出了什么问题?

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

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

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

a.onclick = addHelloToLikes;

您可能希望使用更现代的addEventListener method代替。