2009년 02월 27일
Event Observer
<html>
<head>
<script language="javascript">
<head>
<script language="javascript">
//s:Observer
var eventArray = new Array();
var eventArray = new Array();
eventArray.EventRouter=function(element, eventType){
this.lsnrs=new Array();
this.el = element;
element.eventRouter=this;
element[eventType]=eventArray.EventRouter.callback;
}
this.lsnrs=new Array();
this.el = element;
element.eventRouter=this;
element[eventType]=eventArray.EventRouter.callback;
}
eventArray.EventRouter.callback=function(event) {
var e=event || window.event;
var router=this.eventRouter;
router.notify(e);
}
var e=event || window.event;
var router=this.eventRouter;
router.notify(e);
}
eventArray.EventRouter.prototype.notify=function(e) {
var lsnrs = this.lsnrs;
for (var i=0; i < lsnrs.length; i++) {
var lsn = lsnrs[i];
lsn.call(this,e);
}
}
var lsnrs = this.lsnrs;
for (var i=0; i < lsnrs.length; i++) {
var lsn = lsnrs[i];
lsn.call(this,e);
}
}
eventArray.EventRouter.prototype.addListener=function(lsnr){
this.lsnrs[this.lsnrs.length] = lsnr;
}
//e:observer
this.lsnrs[this.lsnrs.length] = lsnr;
}
//e:observer
window.onload=function() {
var dom = document.getElementById("mousemat");
var eventTest = new eventArray.EventRouter(dom, "onclick");
eventTest.addListener(checkClientX);
eventTest.addListener(checkClientY);
}
var dom = document.getElementById("mousemat");
var eventTest = new eventArray.EventRouter(dom, "onclick");
eventTest.addListener(checkClientX);
eventTest.addListener(checkClientY);
}
function checkClientX(event) {
var e=event || window.event;
alert("X : " + e.clientX);
}
var e=event || window.event;
alert("X : " + e.clientX);
}
function checkClientY(event) {
var e=event || window.event;
alert("Y : " + e.clientY);
}
var e=event || window.event;
alert("Y : " + e.clientY);
}
</script>
</head>
<body>
<div id="mousemat" style="background-color: #ffe0d0;
border: solid maroon 2px;
width: 500px;
height: 500px;
top: 24px;
left: 24px;
position: absolute;"></div>
<div id="Div1"></div>
</body>
</html>
</head>
<body>
<div id="mousemat" style="background-color: #ffe0d0;
border: solid maroon 2px;
width: 500px;
height: 500px;
top: 24px;
left: 24px;
position: absolute;"></div>
<div id="Div1"></div>
</body>
</html>
# by | 2009/02/27 11:53 | javascript | 트랙백 | 덧글(0)








