jQuery对象禁用事件监听器,如何检测html属性何时更改
我需要为select
标签创建一个事件监听器。 只要元素被disabled
或enabled
就应该触发它。
这有可能吗?
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);