观察jQuery中的显示更改

Kev*_*tre 11 jquery

是否可以将观察者添加到在可见性更改(即调用show()hide())时触发的DOM元素?谢谢!

Mar*_*man 8

如果您想观察对jQuery 1.5+的任何调用.show().hide()访问jQuery 1.5+,您可以使用它jQuery.sub()来创建jQuery对象的副本以覆盖默认值.show().hide()操作.

var myjQuery = jQuery.sub();
myjQuery.fn.hide = function() {
    alert('hide');

    return jQuery.fn.hide.apply(this, arguments);
};
myjQuery.fn.show = function() {
    alert('show');
    return jQuery.fn.show.apply(this, arguments);
};
Run Code Online (Sandbox Code Playgroud)

然后使用.sub()副本

(function($) {
    $(document).ready(function() {
        $(".click").click(function() {
            if ($("#hide").is(":visible")) {
                $("#hide").hide();
            }
            else {
                $("#hide").show();
            }
        });
    });
})(myjQuery);
Run Code Online (Sandbox Code Playgroud)

关于jsfiddle的例子