jquery中用于切换的钩子

jquery中用于切换的钩子,jquery,hook,Jquery,Hook,我创建了一个包含以下代码的页面。我需要提醒你一个消息。但它不起作用。为什么? 代码: 希望能有所帮助 为什么你认为它应该起作用?jQuery没有hook方法。顺便说一句,您并没有选择jQuery作为JSFIDLE的库。编辑:啊,你把它添加为外部资源。。。。从“选择框架”列表中选择它更容易。钩子必须是3d party插件。你能给我们提供更多信息吗?你的JSFIDLE演示程序正在尝试使用mootools。我想他指的是:没关系,我为什么要写这么多代码?请看@mraufk-实际上,你的链接也使用3d

我创建了一个包含以下代码的页面。我需要提醒你一个消息。但它不起作用。为什么?

代码:

希望能有所帮助


为什么你认为它应该起作用?jQuery没有
hook
方法。顺便说一句,您并没有选择jQuery作为JSFIDLE的库。编辑:啊,你把它添加为外部资源。。。。从“选择框架”列表中选择它更容易。钩子必须是3d party插件。你能给我们提供更多信息吗?你的JSFIDLE演示程序正在尝试使用mootools。我想他指的是:没关系,我为什么要写这么多代码?请看@mraufk-实际上,你的链接也使用3d party插件。请参阅中的链接,您可以在“源代码”页面中找到脚本。
$(document).ready(function() {
     $.hook('toggle');
    $('#test').bind('onbeforetoggle', function(e){alert(e.type)});

    $('#btnHide').click(function() {
        $('#divTest').toggle();

    });

});
  (function($){
    $.hook = function (fns) {
        fns = typeof fns === 'string' ? 
            fns.split(' ') : 
            $.makeArray(fns)
        ;

        jQuery.each( fns, function (i, method) {
            var old = $.fn[ method ];

            if ( old && !old.__hookold ) {

                $.fn[ method ] = function () {
                    this.triggerHandler('onbefore'+method);
                    this.triggerHandler('on'+method);
                    var ret = old.apply(this, arguments);
                    this.triggerHandler('onafter'+method);
                    return ret;
                };

                $.fn[ method ].__hookold = old;

            }
        }); 

    };

    $.unhook = function (fns) {
        fns = typeof fns === 'string' ? 
            fns.split(' ') : 
            $.makeArray(fns)
        ;

        jQuery.each( $.makeArray(fns), function (i, method) {
            var cur = $.fn[ method ];

            if ( cur && cur.__hookold ) {               
                $.fn[ method ] = cur.__hookold;         
            }
        });

    };
})(jQuery);