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中文网其他相关文章!