jef*_*ind 4 jquery events bind
我有一个具有不同模块的交互式表单系统,其中每个模块的表单包含在不同的div元素中.当我从一个模块更改为另一个模块时,我经常这样做:
$('#module_1').hide();
$('#module_2').fadeIn();
Run Code Online (Sandbox Code Playgroud)
我喜欢这个,但现在,在开发这个系统一段时间后,我有一些函数(比如重新初始化一个jqgrid),我想在每次fadeIn
发生时发生.我这样设置:
$('#module_2').bind('fadeIn',function(){
initialize_jqgrid();
});
Run Code Online (Sandbox Code Playgroud)
有没有办法让我可以为所有实例工作,$('#module_2').fadeIn();
而不必去每个实例并用它替换它?
$('#module_2').fadeIn().trigger('fadeIn');
Run Code Online (Sandbox Code Playgroud)
这背后的动机只是为了拥有更清晰的代码,$('#module_2').fadeIn().trigger('fadeIn');
有点多余.
非常感谢!
use*_*654 11
当然,
var _old = $.fn.fadeIn;
$.fn.fadeIn = function(){
var self = this;
return _old.apply(this,arguments).promise().done(function(){
self.trigger("fadeIn");
});
};
// and your code: // replace .bind with .on if jQuery 1.7+
?$("div").bind("fadeIn",function(){alert("worky");});
$("div").fadeIn(2000);?????????????????
Run Code Online (Sandbox Code Playgroud)
演示
http://jsfiddle.net/gEVsX/2/
更新评论
var _old = $.fn.fadeIn;
$.fn.fadeIn = function(){
return _old.apply(this,arguments).trigger("fadeIn");
};
// and your code: // replace .bind with .on if jQuery 1.7+
?$("div").bind("fadeIn",function(){alert("worky");});
$("div").fadeIn(2000);?????????????????
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2040 次 |
最近记录: |