【发布时间】:2015-06-24 13:37:26
【问题描述】:
有没有办法监听disabled DOM 属性的变化?
类似这样的:
setTimeout(function () {
$("#myElem").prop('disabled', true);
}, 1500);
$("#myElem").on('disabled', function(e){
alert('my custom code');
});
这里还有一个fiddle.
编辑:如果可能,我想要一个通用的解决方案。例如,在我的应用程序中,我使用的是 MVVM 框架 (Knockout),它在内部处理属性更改:
<button data-bind="disable: time > 3">
</button>
我声明了禁用逻辑,但我没有手动禁用它。我想要手动做的是挂钩那个事件,所以我可以做我的自定义逻辑。
我在 SO 上看到了example:
jQuery.propHooks.disabled = {
set: function (el, value) {
if (el.disabled !== value) {
el.disabled = value;
value && $(el).trigger('disabledSet');
!value && $(el).trigger('enabledSet');
}
}
};
但这似乎不起作用。
【问题讨论】:
标签: javascript jquery html css