首页 > web前端 > js教程 > 正文

如何防止在锚标记创建过程中立即调用 Javascript OnClickListener 函数?

DDD
发布: 2024-10-22 07:15:03
原创
889 人浏览过

How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

Javascript OnClickListener 函数立即触发

当尝试创建一个模仿传统链接外观但触发函数而不是函数的锚标记时重定向到新页面时,无论用户输入如何,都会在创建链接时调用 onclick 函数。这可以防止后续手动点击该链接。

问题在于 onclick 函数的实现不正确。正确的语法是引用函数 (secondFunction),而不是分配实际函数本身 (secondFunction())。这可确保仅在 onclick 事件发生时调用该函数,而不是在其声明时调用。

要纠正此问题,请将:

<code class="javascript">sentNode.setAttribute('onclick', secondFunction());</code>
登录后复制

替换为:

<code class="javascript">sentNode.onclick = secondFunction();</code>
登录后复制

这将传递对 secondaryFunction 函数的引用,使其能够在单击时被调用。更正后的代码应如下所示:

<code class="javascript">function startFunction() {
    var sentNode = document.createElement('a');
        sentNode.setAttribute('href', "#");
        sentNode.onclick = secondFunction;  // Assign the function reference
        sentNode.innerHTML = "Sent Items";

    //Add new element to parent
    var parentNode = document.getElementById('parent');
    var childNode = document.getElementById('sendNode');
    parentNode.insertBefore(sentNode, childNode);
}</code>
登录后复制

通过执行以下步骤,将正确分配 onclick 函数,从而允许链接按预期运行,而无需在创建后立即调用。

以上是如何防止在锚标记创建过程中立即调用 Javascript OnClickListener 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!