javascript - 关于 javascript onclick 的问题

标签 javascript jquery html

我正在使用 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/

相关文章:

javascript - 在 SetTimeout 函数之后调用一个函数

javascript - 在移动浏览器中拖放

javascript - JQuery:选择所有以特定名称结尾的ID并更改其同级输入按钮

javascript - React Select 受控 Prop menuIsOpen 不再可点击菜单

javascript - 添加到第 3 方页面的 DOM 时如何避免 HTML ID 冲突?

php - 将 Wordpress 最近的帖子集成到现有网站中

javascript - Vue.js 父 <-> 子更新值,路由 View

javascript - 将 bootstrap-growl 警报左下角对齐

javascript - 在 underscore.js 中使用 memoize 函数

javascript - 尝试使用 ModalService。出现 "ModalService is undefined"错误