Javascript:意外调用 onclick 处理程序
尝试创建类似于锚标记但执行自定义函数的链接时,onclick页面加载后立即调用该函数,使后续点击无效。
说明:
在提供的代码片段中:
<code class="javascript">var sendNode = document.createElement('a'); sendNode.setAttribute('onclick', secondFunction());</code>
行setAttribute('onclick', secondaryFunction()) 不正确。它立即执行 SecondFunction 函数并将其返回值(通常未定义)分配给 onclick 属性。这会导致立即调用 secondaryFunction。
解决方案:
要正确将 secondaryFunction 指定为事件处理程序,正确的语法是:
<code class="javascript">var sendNode = document.createElement('a'); sendNode.setAttribute('onclick', secondFunction);</code>
这将创建一个事件侦听器,在调用第二个函数之前等待元素上的单击事件。
以上是为什么 onclick 处理程序在页面加载时触发,而不是在单击链接时触发?的详细内容。更多信息请关注PHP中文网其他相关文章!