2017-03-17 486 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