[英]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.