在 jQuery 中将多个函数与相同的代码组合在一起
combine multiple functions with same code in jquery
是的,我已经彻底搜索了谷歌,没有找到任何适合我要求的东西。
到目前为止,我拥有的代码位于以下链接中:
http://jsfiddle.net/ZKwTY/4/
有多个onchange事件调用几乎相同的代码,我想以逗号分隔的方式组合它们,只调用一次。 像这样的东西
(on1Change, on2Change, on3Change): function () {
this.loadData();
}
这可能吗??
注意:这些函数通过我无法控制的框架绑定到控件,我需要创建这些函数,框架会将它们绑定到相应的控件
或者你可以像这样创建你的对象
var ol = {
on1Change: this.loadData,
on2Change: this.loadData,
on3Change: this.loadData,
on4Change: this.loadData,
loadData: function () {
this.loadData1();
this.loadData2();
},
loadData1: function () {
alert('hi from loadData1');
},
loadData2: function () {
alert('hi from loadData2');
}
};
然后,如果你想做一次,那么声明一个对象
var ol = {
loadData: function () {
this.loadData1();
this.loadData2();
},
loadData1: function () {
alert('hi from loadData1');
},
loadData2: function () {
alert('hi from loadData2');
}
};// end of object
ol.on1Change = ol.on2Change = ol.on3Change = ol.on4Change = ol.loadData;
在对象声明后动态添加所有属性
use bind()
$("selector").bind(on1Change, on2Change, on3Change): function () {
this.loadData();
}.....
你可以尝试这样的 http://jsfiddle.net/s4VVY/即在对象创建后添加方法
[1,2,3,4,5].forEach(function(it){ol["on"+it+"Change"] = function(){this.loadData()}})
更新
可能是这个帮助
var ol = (function(){
var o = {
loadData: function () {
this.loadData1();
this.loadData2();
},
loadData1: function () {
alert('hi from loadData1');
},
loadData2: function () {
alert('hi from loadData2');
}
}
o.on1Change=o.on2Change=o.on3Change=o.on4Change=function(){ this.loadData();};
return o;
})()
你也可以使函数绑定Func
function bindFunc(){
var obj = arguments[0],
handler = arguments[1],
properties = Array.prototype.slice.call(arguments,2);
for(var i in properties){
obj[properties[i]] = handler;
}
}
并调用为
bindFunc(o,function(){this.loadData();},"on1Change","on2Change","on3Change","on4Change")
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- 面向对象的Javascript代码在IE7中不起作用
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- Jquery:代码在rails中的页面加载时未执行
- php代码在textbox更改事件上显示null
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 这个代码在网页中的作用和要求是什么
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 代码在angular中未按预期工作
- PHP、Javascript和SQL代码混杂在一起
- 如何让标记和谷歌代码漂亮地工作在一起
- 在 jQuery 中将多个函数与相同的代码组合在一起
- 如何将两个函数的代码与不同的参数组合在一起
- 如何将同构的 commonJS 代码与 webpack 捆绑在一起
- 将两个对象与多个节点组合在一起——为什么这段代码有效
- jQuery或其他第三方库是否应该与逻辑代码捆绑在一起
- 将两个代码集成在一起时,Javascript函数不起作用
- 如何将JavaScript代码和html代码结合在一起
- 如何使PHP“if”代码在与Java脚本一起使用自动提交时工作
- 我怎么把这些代码组合在一起