首页  >  文章  >  web前端  >  为什么 onclick 处理程序在页面加载时触发,而不是在单击链接时触发?

为什么 onclick 处理程序在页面加载时触发,而不是在单击链接时触发?

Patricia Arquette
Patricia Arquette原创
2024-10-22 07:18:31270浏览

Why Is the onclick Handler Triggered on Page Load Instead of When Clicking the Link?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn