You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么设置this.onclick=''后绑定的函数仅会执行一次?

原理说明

相关代码片段如下:

<a href="#" onclick="addP(); this.onclick='';">See more</a>

原因解释

  • 这种直接写在HTML标签onclick属性中的事件绑定属于DOM 0级事件绑定,对应的处理逻辑会直接存储在DOM元素实例的onclick属性上,元素触发点击事件时就会执行该属性中存储的代码。
  • 第一次点击a标签时,代码会按顺序执行:
    1. 首先调用addP()函数执行业务逻辑
    2. 随后执行this.onclick='',这里的this指向当前被点击的a标签DOM实例,该语句会将元素的onclick属性值清空为空字符串
  • 后续再次点击该a标签时,onclick属性已经没有可执行的有效代码,自然不会再触发addP()运行,因此addP()只会执行一次。

内容的提问来源于stack exchange,提问作者carp king

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:27:03