jQuery中是否有触发器会检测属性值的变化?
举个例子:
<div id="thisField" value-grabbed='1'></div>
到
<div id="thisField" value-grabbed='2'></div>
并且jQuery在变更后发出警告“完成”。
EDIT ----
我很可能会使用.attr()
代码来更改属性的值。
答案 0 :(得分:4)
是的,但是你必须自己创建所述触发器。
$(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);