我正在编写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>
我的剧本出了什么问题?
答案 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代替。