【问题标题】:JQuery - How can I check that onclick event already called for a button? [duplicate]JQuery - 如何检查是否已调用按钮的 onclick 事件? [复制]
【发布时间】:2014-11-29 19:13:21
【问题描述】:

我有一个输入(类型:按钮),我想调用一个 onclick 事件。但有时我稍后添加了输入按钮,然后我不得不再次调用该事件。所以我有一个带有 2 个 onclick 事件的输入按钮。如何检查是否已为此调用 onclick 事件?

谢谢

【问题讨论】:

  • 但有时我后来添加了输入按钮你这是什么意思?
  • 您所说的“我想调用一个 onclick 事件”是什么意思?您使用的是 jquery .click() 还是 .on() api?如果是,那么您没有调用onclick(),您只是在onclick() 内挂了一个函数。您需要将此处理程序挂在每个新按钮上!
  • 有时我必须稍后使用 ajax 将输入按钮添加到表单中。
  • 在父元素上使用单个委托事件。

标签: jquery onclick


【解决方案1】:
var counter=0;
$("#btn").onClick(function(){
    counter+=1;
    // do some
});

然后你可以检查计数器的值:

if (counter>0){
    alert("clicked before");
}

【讨论】:

    【解决方案2】:

    您可以使用on() 方法将delegate the event handler 绑定到静态(最好是非动态生成的最接近的父元素)父元素,而不是再次为动态生成的元素绑定事件处理程序。

    例如:

    $(document).on("click",":button",function(){});
    

    将来也可以使用您动态生成的按钮。因此,无需再次绑定导致您遇到问题的事件。

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      相关资源
      最近更新 更多