jQuery对象禁用事件监听器,如何检测html属性何时更改

我需要为select标签创建一个事件监听器。 只要元素被disabledenabled就应该触发它。

这有可能吗?

PS: onchange没有检测到禁用。

可以使用这个jquery .watch插件。

http://darcyclarke.me/development/detect-attribute-changes-with-jquery/

该插件检测到css更改,但我在此JSfiddle中编辑它以使用属性。

看看这个JSfiddle。

JQuery 1.6+

你可以改变jQuery prophooks:

 jQuery.propHooks.disabled = { set: function (el, value) { if (el.disabled !== value) { el.disabled = value; value && $(el).trigger('disabledSet'); !value && $(el).trigger('enabledSet'); } } }; 

如果通过以下方式禁用元素,则会触发“disabledSet”:

 $(element).prop('disabled', true); 

如果通过以下方式启用了元素,则会触发“enabledSet”:

 $(element).prop('disabled', false); 

然后你可以像这样听你的活动:

 $(element).on('disabledSet', myDisabledHandler);