0

jQuery 中是否有一个触发器可以检测属性值的变化?

举个例子:

<div id="thisField" value-grabbed='1'></div>

<div id="thisField" value-grabbed='2'></div>

并且 jQuery 在更改后提示我“完成”。

编辑 - -

我很可能会使用.attr()代码更改属性的值。

4

1 回答 1

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);
于 2013-05-02T18:36:04.090 回答