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

如何让JQuery绑定的点击事件仅执行一次(不修改绑定语句)

嘿,这个场景我太熟悉了!既然你没办法修改$(Page).on('click', '*', ...那行绑定代码,那咱们直接在myFunction内部做控制就可以解决问题,保证不管点多少次,函数只执行一次。

方案1:给函数加个执行标记(简单粗暴见效快)

JavaScript里函数本身也是对象,能存储自定义属性,咱们就用这个特性来做判断:

function myFunction(){
  // 先检查是否已经执行过,是就直接返回
  if (myFunction.hasRun) {
    return;
  }
  // 标记为已执行,下次再调用就会直接跳过
  myFunction.hasRun = true;

  // 这里放你原本的业务代码
  // do something...
}

方案2:闭包封装状态(更优雅,避免外部误改)

如果不想把标记暴露在函数外面,担心被其他代码误修改,那就用立即执行函数创建一个闭包,把状态变量藏起来:

const myFunction = (function() {
  let hasExecuted = false;
  return function() {
    if (hasExecuted) return;
    hasExecuted = true;
    // 你的业务逻辑写在这里
    // do something...
  };
})();

这两种方案的核心逻辑都是一样的:用一个状态变量记录函数是否已经执行过,第一次调用时执行核心业务并更新状态,后续所有调用都会直接跳过核心代码,完全符合你“不修改事件绑定代码”的要求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:08:41