日期:2014-05-16  浏览次数:20448 次

javascript自定义类中事件的问题
<html>  
<body>  
<INPUT   TYPE= "button "   name= "hh "   id= "inp1 ">
<SCRIPT   LANGUAGE= "JavaScript ">
function   Class(val)   {  

this.obj=document.getElementById(val);
this.obj.onclick   =   function()  
{  
alert(this.obj.name);
}

}  
new   Class( 'inp1 ');  
</script>  
</body>  
</html>
在类中定义了onclick事件,但是在调用的时候,好像不能调用自己为啥?

------解决方案--------------------
<html>
<body>
<INPUT TYPE= "button " name= "hh " id= "inp1 ">
<SCRIPT LANGUAGE= "JavaScript ">
function Class(val) {
var c = this;
this.obj=document.getElementById(val);
this.obj.onclick = function(){alert(c.obj.name);}
}
new Class( "inp1 ");
</script>
</body>
</html>
------解决方案--------------------
我也刚在学习JS的自定义类.跟我学时一样遇到这个问题.问题主要出在这句里
alert(this.obj.name);

这里 'this '它所代表的是window对象了.而不是我们自定义的那个.所以要在这句之前定义一个变量能代表Class,就像dh20156(风之石)那样,这样就可以了.当然C应该还算CLASS里的属性.

根据我学过的书上说.只要是在CLASS里定义的变量都叫属性.