Javascript JQuery:动态删除元素(隔离函数)

Javascript JQuery:动态删除元素(隔离函数),javascript,jquery,Javascript,Jquery,小提琴- 删除元素不是问题,但是当我单击remove false按钮(类为.rf)时,我不想再删除元素,除非单击remove true(类为.rt)按钮 当前,当我单击remove true元素时,它会按预期执行。(演示有点蹩脚,但它表达了我的意思)当我单击RemoveFalse按钮时,我仍然可以单击.container div中的元素并删除它们,这是不应该发生的 非常感谢您的帮助 $(document).ready(function() { var enabled = false; $

小提琴-

删除元素不是问题,但是当我单击remove false按钮(类为.rf)时,我不想再删除元素,除非单击remove true(类为.rt)按钮

当前,当我单击remove true元素时,它会按预期执行。(演示有点蹩脚,但它表达了我的意思)当我单击RemoveFalse按钮时,我仍然可以单击.container div中的元素并删除它们,这是不应该发生的

非常感谢您的帮助

$(document).ready(function() {
  var enabled = false;
  $('.rt').click(function() {
    enabled = true;

    if (enabled === true) {
      $('.container *').on('mousedown touchstart', function() {
        $(this).remove();
        return false;
      });
    } else {
      enabled = false;
    }
  });

  $('.rf').click(function() {
    enabled = false;
  });
});

您正在将删除代码绑定到集启用代码中。将其拆开,让其查看由
.rf
.rt
设置的变量

$(document).ready(function() {
  var enabled = false;
  $('.rt').click(function() {
    enabled = true;
  });

  $('.rf').click(function() {
    enabled = false;
  });
  $('.container').on('mousedown touchstart', '*',function() {
      if (enabled)      
        $(this).remove();
      return false;
   });
});

您正在将删除代码绑定到集启用代码中。将其拆开,让其查看由
.rf
.rt
设置的变量

$(document).ready(function() {
  var enabled = false;
  $('.rt').click(function() {
    enabled = true;
  });

  $('.rf').click(function() {
    enabled = false;
  });
  $('.container').on('mousedown touchstart', '*',function() {
      if (enabled)      
        $(this).remove();
      return false;
   });
});

您正在将删除代码绑定到集启用代码中。将其拆开,让其查看由
.rf
.rt
设置的变量

$(document).ready(function() {
  var enabled = false;
  $('.rt').click(function() {
    enabled = true;
  });

  $('.rf').click(function() {
    enabled = false;
  });
  $('.container').on('mousedown touchstart', '*',function() {
      if (enabled)      
        $(this).remove();
      return false;
   });
});

您正在将删除代码绑定到集启用代码中。将其拆开,让其查看由
.rf
.rt
设置的变量

$(document).ready(function() {
  var enabled = false;
  $('.rt').click(function() {
    enabled = true;
  });

  $('.rf').click(function() {
    enabled = false;
  });
  $('.container').on('mousedown touchstart', '*',function() {
      if (enabled)      
        $(this).remove();
      return false;
   });
});

条件是无意义的,
enabled
将始终为true,因为您在上面的行中将其设置为true?默认情况下,enabled的var设置为false。单击“删除真”按钮时,启用将变为真,然后单击“删除假”按钮时变为假。不管您将其设置为什么,您总是在条件前一行将其重置为真,因此这就像执行
如果(真===真)
,则始终为真,而你只是不断地堆积事件处理程序。哦,我不知道。感谢您的帮助。该条件毫无意义,
启用
将始终为真,因为您在上面的一行中将其设置为真?默认情况下,启用的变量设置为假。单击“删除真”按钮时,启用将变为真,然后单击“删除假”按钮时变为假。不管您将其设置为什么,您总是在条件前一行将其重置为真,因此这就像执行
如果(真===真)
,则始终为真,而你只是不断地堆积事件处理程序。哦,我不知道。感谢您的帮助。该条件毫无意义,
启用
将始终为真,因为您在上面的一行中将其设置为真?默认情况下,启用的变量设置为假。单击“删除真”按钮时,启用将变为真,然后单击“删除假”按钮时变为假。不管您将其设置为什么,您总是在条件前一行将其重置为真,因此这就像执行
如果(真===真)
,则始终为真,而你只是不断地堆积事件处理程序。哦,我不知道。感谢您的帮助。该条件毫无意义,
启用
将始终为真,因为您在上面的一行中将其设置为真?默认情况下,启用的变量设置为假。单击“删除真”按钮时,启用将变为真,然后单击“删除假”按钮时变为假。不管您将其设置为什么,您总是在条件前一行将其重置为真,因此这就像执行
如果(真===真)
,则始终为真,而你只是不断地堆积事件处理程序。哦,我不知道。谢谢你的帮助。