使用事件代表團。
var modal = $('#registerModal');
modal.on('click', "#instagram-login-btn:not(.disabled)", function(event) {
// the handler
});
modal.on("click", "#another_element:not(.disabled)", function(event) {
// the handler
});
然後要禁用它們,請添加disabled
類。
$("#registerModal *").addClass("disabled");
並刪除類以啓用。
$("#registerModal *").removeClass("disabled");
這些添加/刪除所有嵌套元素的類,但您的實際代碼可以更有針對性。
另一種不使用類的方法是綁定阻止事件傳播到嵌套元素的處理程序。
var modal = $('#registerModal');
modal.on('click', "#instagram-login-btn", function(event) {
// the handler
});
modal.on("click", "#another_element", function(event) {
// the handler
});
然後禁用它們,停止冒泡與控制器
$("#registerModal *").on("click", function(event) { event.stopPropagation() });
和刪除處理程序啓用。
$("#registerModal *").off("click");
此外,選擇應該針對實際需要的元素。
可能的重複[如何使用JQuery刪除父元素的子元素的所有事件處理程序](http://stackoverflow.com/questions/12012882/how-to-remove-all-event-handlers-for- child-elements-of-a-parent-element-using-jq) – j08691