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

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

Patricia Arquette
发布: 2024-10-22 07:18:31
原创
359 人浏览过

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

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板