最近工作的需要,需要动态将一个<td>的ondbclick事件绑定到另外一个带参数的事件上,在以前我们一般是
这样做:
td.ondbclick = aa;//aa 为函数名
但这样做的话,如果aa没有参数,则可以,如果有参数,则如何将aa的参数传进去呢?方法如下:
Array.from = function(iterable) {
if (!iterable) { return []; }
if (iterable.toArray) {
return iterable.toArray();
} else {
var results = [];
for (var i = 0, length = iterable.length; i < length; i++) {
results.push(iterable[i]);
}
return results;
}
};
var $A = Array.from;
Function.prototype.bind = function() {
var __method = this, args = $A(arguments), object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
};
};
实现如下:
var onDbclilck=ECSideUtil.editCell.bind("",cells[j],'znpPicModelTable'); //后面为要传入的两个参数,第一个需要为空
cells[j].ondblclick = onDbclilck;