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

标签 javascript jquery

fiddle -http://jsbin.com/oloriTo/1/edit

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

目前,当我单击删除 true 元素时,它会按预期执行。 (演示有点糟糕,但它明白了要点)当我单击“删除错误”按钮时,我仍然可以单击 .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;
  });
});

最佳答案

您正在将删除代码绑定(bind)到设置的启用代码中。将其分解并让它查看由 .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;
   });
});

关于javascript - JQuery:动态删除元素(隔离函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21271607/

相关文章:

javascript - 如何在javascript中生成多个url?

javascript - 修复 URl,使其不存在空格

javascript - Typescript angularjs $http 获取响应类型(避免使用 <any>)

javascript - jQuery .change 函数 onload

javascript - 使用 jQuery 动态更改表单字段选项(并恢复以前选择的选项)

javascript - 我想让我的 php 知道密码中是否有数字

javascript - 多语言 react webapp 的最佳方法

javascript - 淡化导航并使其在向下滚动时固定,在向上滚动时淡化

jquery - 用 DIV 标签包装表格?

javascript - Jquery Cycle 插件问题 - 更改和样式链接