繁体   English   中英

如何只做一次jQuery事件?

[英]How to make a jQuery event only once?

当我单击“删除”时,将调用函数delete deleting() 即使多次单击“删除”,如何也只能添加一次? 我希望它仅在我第一次点击时发生。

 function deleting() { $(".checking").prepend("<input type='checkbox' name='idcheckbox'>"); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="javascript:deleting()">DELETE</a> <div class="checking"></div> 

如果您不想再次使用jQuery,则可以创建一个全局“标志”变量,如下所示:

   var flag = false;
   function deleting() {
      if(flag)
         return false;

      $(".checking").prepend("<input type='checkbox' name='idcheckbox'>");
      flag = true;
      return true;
  }

但是不建议这样做,因为您将永远没有必要的侦听器。

您可以使用jQuery一个 ,以便:将处理程序附加到元素的事件。 每个事件类型的每个元素最多只能执行一次处理程序。

您可以动态附加事件,而不是内联:

    $(function () {
        $('a').one('click', function(e) {
            e.preventDefault();
            $(".checking").prepend("<input type='checkbox' name='idcheckbox'>");
        })
    });

和你的HTML可能是这样的:

<form>
 <a href="">DELETE</a>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM