我正在使用 javascript 动态创建链接标记( anchor 标记)
。
有一个 javascript 函数,它将由事件触发,并创建一个 javascript 链接。
我已经提到了使用 javascript 新创建的 anchor 标记所需的属性。现在我还提到了该 anchor 标记上的 onclick
事件。
问题是
在 anchor 标记创建期间会触发 onclick
事件。这一次它正在发射。下次当我点击该链接时,我无法得到我想要的结果。
javascript代码:
function waybill()
{
var mail_link = document.createElement("a");
mail_link.href = "javascript:void(0)";
mail_link.className = 'animated bounceInDown';
mail_link.innerHTML = "Mail Waybill";
mail_link.onclick = abc_test();
var holder_div = document.getElementById("holder");
holder_div.appendChild(mail_link);
}
function abc_test()
{
alert("mail link clicked");
}
我只收到一次警报,甚至没有点击。 请帮助我。
最佳答案
mail_link.onclick = abc_test()
将调用 abc_test
并将其返回值分配给 mail_link.onclick
。
如果您只想引用该函数,而不是调用它,请省略 ()
:
mail_link.onclick = abc_test;
添加事件监听器是许多旧浏览器以自己的方式做的事情之一,并且添加对所有这些事件的支持有点困惑。由于问题被标记为 jQuery,因此您可以在 jQuery 中完成所有这些操作,并为您处理浏览器支持:
$('<a/>', {
href: 'javascript:void(0);',
'class': 'animated bounceInDown',
text: 'Mail Waybill',
}).appendTo('#holder').click(abc_test);
关于javascript - 关于 javascript onclick 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39179148/