// 這時點選連結第一個彈出的是事件對象,第二個是undefined。 E.on(document.getElementById('aa'),'click',handler);
複製程式碼
程式碼如下:
function handler(e,arg1,arg2){
alert(arg1);
alert(arg2);
}E.on(document.getElementById('aa'),'click',function(e){
handler(e ,arg1,arg2);});方案三,給Function.prototype加上getCallback,不保留事件物件
複製程式碼
程式碼如下:
Function.prototype.getCallback = function(){
var _this = this, args = function(){
var _this = this, args = function(){
var _this = this, args = arguments; (e) {
return _this.apply(this || window, args); };}E.on(document.getElementById('lick),ler' .getCallback(v1,v2));方案四,加入Function.prototypegetCallback,保留事件物件作為第一個參數傳入 複製程式碼 程式碼如下:Function.prototype.getCallback = function(){ var _this = this, args = []; for(var i=0,l=arguments.length;i args[i 1] = arguments[i]; } return function(e) { args[0] = e; return _this.apply(this || window, args); };}}.on(docum 'click',handler.getCallback(v1,v2));