立即调用Javascript onclick函数(不单击时)?
我试图创建一个看起来和感觉像<a>
标签项的链接,但运行一个函数而不是使用href。
当我尝试将onclick函数应用于链接时,无论该链接从未被单击过,它都会立即调用该函数。此后任何尝试单击链接的尝试都会失败。
我究竟做错了什么?
<div id="parent"> <a href="#" id="sendNode">Send</a>
</div>
startFunction();function secondFunction(){
window.alert("Already called!?");
}
function startFunction() {
var sentNode = document.createElement('a');
sentNode.setAttribute('href', "#");
sentNode.setAttribute('onclick', secondFunction());
//sentNode.onclick = secondFunction();
sentNode.innerHTML = "Sent Items";
//Add new element to parent
var parentNode = document.getElementById('parent');
var childNode = document.getElementById('sendNode');
parentNode.insertBefore(sentNode, childNode);
}
如您所见,我尝试了两种不同的方法来添加此onclick函数,这两种方法具有相同的效果。
回答:
你要 .onclick = secondFunction
.onclick = secondFunction()
后者调用(执行),secondFunction
而前者secondFunction
在onclick
事件传递给要调用的的引用
function start() { var a = document.createElement("a");
a.setAttribute("href", "#");
a.onclick = secondFunction;
a.appendChild(document.createTextNode("click me"));
document.body.appendChild(a);
}
function secondFunction() {
window.alert("hello!");
}
start();
a.addEventListener("click", secondFunction);// OR
a.addEventListener("click", function(event) {
secondFunction();
event.preventDefault();
});
以上是 立即调用Javascript onclick函数(不单击时)? 的全部内容, 来源链接: utcz.com/qa/411183.html