簡體   English   中英

使用jQuery定位動態添加的按鈕(無事件)

[英]Target dynamically added button with jquery (no event)

我想知道一種使用Jquery(動態添加的html按鈕)禁用和禁用的方法。

我知道.on()函數,但是為了工作,該函數需要監聽事件(例如單擊或類似操作),並且沒有任何綁定事件,因為我從一個功能。

這是實際的代碼,因為它不起作用,原因是帶有“ #myID”的按鈕是部分代碼,已在文檔ready()之后動態注入:

 var validateForm = function(){
    if(exp_valid && cc_valid && ch_valid && cvn_valid){
        $('#myID').prop('disabled', false);
    }
 }

我想以一種正確的方式選擇沒有任何事件的動態添加按鈕。

感謝您的閱讀。

您可以先檢查按鈕是否存在

if ($(#myID).length) {
  $('#myID').prop('disabled', false);
}

您可以做的是設置MutationObserver來監視DOM元素上的更改,這樣您就可以觸發新的檢查,是否將某些內容添加到了節點樹中。

簡化的JS:

var observer = new MutationObserver(function() {
  // This is where you run your function
  $('#myID').attr("disabled", true);
  console.log($('#myID'));
});

observer.observe(document.documentElement, {
    childList: true,
    subtree: true            
});

我整理了這個演示 ,其中動態添加了一個按鈕,您可以再次運行您的函數以檢查是否應禁用它。

完整的實現在本文中有很好的描述: http : //ryanmorr.com/using-mutation-observers-to-watch-for-element-availability/

我設法做到了:

  $('#myID').attr("disabled", true);

謝謝大家的寶貴時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM