2017-03-17 74 views
2
$(document).on('click', '.add-button-prototype', function(){ 
      if ($(this).closest('.collectionContainer').find('input[type="text"]').val() == '') { 
       return false; 
      } 
     }); 

示例1使用给定类为所有新添加的元素捕获点击事件,但不阻止代码的执行。防止点击时从其他函数执行js代码

$('.add-button-prototype').click(function(e){ 
     if ($(this).closest('.collectionContainer').find('input[type="text"]').val() == '') { 
      return false; 
     } 
    }); 

第二个示例仅适用于具有给定类的已加载元素,而不适用于页面初始化后添加的新元素。但它阻止了代码的执行。

如何捕捉同一类的所有元素,旧的和新添加的,并在条件为真时阻止代码的执行;

+0

如何添加按钮$,可以显示HTML和代码当你添加按钮 –

回答

1

除此之外return false添加e.preventDefault();

所以,你的代码应该如下:(“添加键式原型”)

$(document).on('click', '.add-button-prototype', function(e){ 
     if ($(this).closest('.collectionContainer').find('input[type="text"]').val() == '') { 
      e.preventDefault(); 
      return false; 
     } 
    }); 
+0

这看起来像一个很好的解决方案,但仍然无法正常工作。 :/ –

+1

也许这不再是问题,它与其他事情有关。你能重现一个jsfiddle片断中的错误吗? – Ibrahim

相关问题