jquery - 为什么这个 Javascript (jQuery) 不会进入无限循环?

标签 jquery loops jquery-events

我正在阅读 Karl Swedberg's blog 上关于绑定(bind)和取消绑定(bind)事件的精彩文章(因为我是使用 jQuery 的 js 初学者) ,我对这部分代码感到完全困惑(为简洁起见,进行了简化):

    function addItemUnbind() {
      $Add a button but it won't have it's event added;
      addItemUnbind();
  });

为什么通过将相同的函数放入其自身中,它不会继续执行到无限循环?然而,它用于将事件重新绑定(bind)到元素...!?

最佳答案

据我所知,你的例子会。但是,您的示例与您引用的网站上的示例不同。

function addItemUnbind() {
  $('#list6 li.special button')
    .unbind('click')
    .bind('click', function() {
      var $newLi = $('<li class="special">special and new <button>I am new</button></li>');
      $(this).parent().after($newLi);
      addItemUnbind();
  });
}

在此示例中,当用户单击按钮时,将调用“addItemUnbind”。

关于jquery - 为什么这个 Javascript (jQuery) 不会进入无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/358344/

相关文章:

javascript - 检查所选行是否有选中的复选框

matlab - 在外部 for 中使用 parfor 的两个循环错误

c# - 优化的 C# 代码。想要在没有嵌套循环的情况下使用更好的技术

javascript - 关注输入会触发 'focus' 和 'select' 事件

javascript - 使用类属性的 Dojo 组合框

javascript - 在页面刷新时更改获取 URL 参数

javascript - 我可以创建一个在调用任何 get 或 post 方法(包括 Ajax 请求)时触发的 JavaScript 吗?

java - 打破 Java 中的嵌套 for 循环

javascript - jQuery stopPropagation 无效