Javascript 对象中的鼠标事件处理

Javascript 对象中的鼠标事件处理,javascript,Javascript,因为我对编程是全新的,更特别是在面向对象方面,并且尝试学习/实验一些东西。我正在研究如何使用对象处理外部JS文件中的鼠标事件 var ABK={//external js file event:{ onload:function (fn){ window.onload=fn; }, click:function (id,fn){ ob=document.getElementById(id);

因为我对编程是全新的,更特别是在面向对象方面,并且尝试学习/实验一些东西。我正在研究如何使用对象处理外部JS文件中的鼠标事件

var ABK={//external js file
    event:{
        onload:function (fn){
            window.onload=fn;
        },
        click:function (id,fn){
            ob=document.getElementById(id);
            ob.addEventListener("onClick", fn, false);
        }
    }
在html中

<script language='javascript' src='abk.js'></script>    
<script language='javascript'>
        var init=function(){
            alert("works");
        }
        ABK.event.onload(init);//this works
        ABK.event.click("circle",init);//this wont work


    </script>

var init=函数(){
警惕(“工作”);
}
ABK.event.onload(初始化)//这很有效
ABK.event.点击(“圆圈”,初始化)//这行不通

假设您有一个id为
circle
的元素,那么您需要做的就是在
abk.js

ob.addEventListener("click", fn, false);

使用
addEventListener
时,事件不包括“开”,如果从元素的属性进行赋值,则会使用“开”。

事实上,在我添加click事件时,元素并不存在,是的事件名称为“click”。感谢并感谢您的回复和帮助

click:function (id,fn){ 
  ob=document.getElementById(id);
  ob.addEventListener("click", fn, false); 
} 
在html中

var init=function(){ 
  //alert("works"); 
  ABK.event.click("circle",someTask); 
} 
var someTask=function(){
 //do somethin.. 
}
ABK.event.onload(init);//this works
“这行不通”。事件的名称是“单击”,而不是“onClick”。另外,在执行代码时,可能ID为“circle”的元素还不存在。因为还有HTML属性,它们与DOM元素的属性不同,所以区分它们很重要(IMO)。