javascript怠惰事件(動態事件)
3820 ワード
最近ol 2のソースコードを見て、怠け者のイベント、ダイナミックイベントは、DOM elementのイベントを追加すると、動的にeventHandleを変更し、実際にはjsのプロトタイプチェーンとクローズドの知識を使用しています.
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
<title>title>
head>
<body>
<button id="btn">lazy eventbutton>
body>
<script>
var clickHandle = function(){
alert(1);
}
var clickHandle2 = function(){
alert(2);
}
var CEvent = function(){
this.handle;
};
CEvent.prototype ={
setHandle : function(handle){
this.handle = handle;
},
attachHanlde : function(){
var self = this;
return function(event){
return self.handle.call(event || window.event);
};
}
}
var myEvent = new CEvent();
myEvent.setHandle(clickHandle);
document.getElementById("btn").addEventListener("click",myEvent.attachHanlde());
//document.getElementById("btn").addEventListener("click",myEvent.handle);
myEvent.setHandle(clickHandle2);
script>
html>
実例は簡単です.自分で運転してみたら分かります.