//简单的带参数的事件设计模式
< script language="javascript" type="text/javascript">
< !--
//将有参数的函数封装为无参数的函数
function createfunction(obj, strfunc) {
var args = [];//定义args用于存储传递给事件处理程序的参数
if(!obj) obj = window;//如果是全局函数则obj=window;
//得到传递给事件处理程序的参数
for(var i=2; i< arguments.length; i++) {
args.push(arguments[i]);
}
//用无参数函数封装事件处理程序的调用
return function() {
obj[strfunc].apply(obj, args);//将参数传递给指定的事件处理程序
}
}
本文介绍了一种将带有参数的事件处理函数转换为无参数形式的设计模式,通过使用`createfunction`函数实现,该函数接收目标对象和字符串形式的函数名作为参数,并允许传递任意数量的参数给事件处理程序。

被折叠的 条评论
为什么被折叠?



