.change()属性值?

时间:2013-05-02 18:29:44

标签: jquery

jQuery中是否有触发器会检测属性值的变化?

举个例子:

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

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

并且jQuery在变更后发出警告“完成”。

EDIT ----

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

1 个答案:

答案 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);