Rumah > Soal Jawab > teks badan
var EventUtil = {
addHandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent("on"+type,handler);
}else{
element["on"+type] = handler;
}
},
removeHandler:function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent("on"+type,handler);
}else{
element["on"+type] = null;
}
}
};
var handler={
message:"Event handled",
handleClick:function(event){
alert(this.message);
}
};
var btn=document.getElementById("btn");
EventUtil.adddHandler(btn,"click",bind(handler.handleClick,handler));
PHP中文网2017-04-10 17:39:41
bind()函数有定义....在603页
function bind(fn, context){
return function(){
return fn.apply(context, arguments);
};
}
看书要认真 = =
阿神2017-04-10 17:39:41
猜测题主在编写书中的示例的时候漏掉了bind方法,最后这一行的Bind没定义啊。
EventUtil.adddHandler(btn,"click",bind(handler.handleClick,handler));
我猜可能是这样的
function bind(callback, obj){
return callback.bind(obj);
}