有沒有辦法監聽disabled
DOM屬性更改?收聽元素禁用事件
事情是這樣的:
setTimeout(function() {
$("#myElem").prop('disabled', true);
}, 1500);
$("#myElem").on('disabled', function(e){
alert('my custom code');
});
這裏也是一個fiddle.
編輯:如果可能的話,我想一個通用的解決方案這一點。舉例來說,在我的應用程序,我使用的是MVVM框架(淘汰賽),即內部處理的物性變化:
<button data-bind="disable: time > 3">
</button>
我宣佈禁止邏輯,但我沒有手動禁用它。我想要手動完成的事情是鉤住這個事件,所以我可以做我的自定義邏輯。
我見過的example這裏SO:
jQuery.propHooks.disabled = {
set: function (el, value) {
if (el.disabled !== value) {
el.disabled = value;
value && $(el).trigger('disabledSet');
!value && $(el).trigger('enabledSet');
}
}
};
但這似乎並沒有工作。