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