jQuery 中是否有一个触发器可以检测属性值的变化?
举个例子:
<div id="thisField" value-grabbed='1'></div>
至
<div id="thisField" value-grabbed='2'></div>
并且 jQuery 在更改后提示我“完成”。
编辑 - -
我很可能会使用.attr()
代码更改属性的值。
jQuery 中是否有一个触发器可以检测属性值的变化?
举个例子:
<div id="thisField" value-grabbed='1'></div>
至
<div id="thisField" value-grabbed='2'></div>
并且 jQuery 在更改后提示我“完成”。
编辑 - -
我很可能会使用.attr()
代码更改属性的值。
是的,但是您必须自己创建所述触发器。
$(element).attr("value-grabbed","2").trigger("attrchange");
您可以通过覆盖属性方法来自动化它:
(function($){ // avoid global conflicts
var oldfn = $.fn.attr;
$.fn.attr = function(){
var ret = oldfn.apply(this,arguments);
if (arguments.length === 2 || typeof arguments[0] === "object") {
this.trigger("attrchange");
}
return ret;
}
})(jQuery);