function1已经定义为对象的方法,因此不能象你那样使用,
因为你的写法中this越界,所以只能换一种写法,如下所示有两种方式
方式一:
<script language="javascript">
function MyObject()
{
this.property1="abc";
this.function1=function1;}
function function1()
{
alert(this.property1)
}
function crdemo()
{
oTest=new MyObject();
oTest.function1();
}
</script>
<input id="input1" type="text" onchange="crdemo();">方式二:
function MyObject()
{
this.property1="abc";
this.function1=function1;}
function function1()
{
alert(this.property1)
}
oTest=new MyObject();
</script>
<input id="input1" type="text" onchange="javascript:oTest.function1();">

解决方案 »

  1.   

    这两种方法我都知道,但是我遇到的困难是这样的:
    我需要在一个自定义对象中动态创建一个Input并指定它的事件为该对象的一个方法.二者两种方法都要通过自定义对象的对象名来调用,而无法通过"input1.onchange=this.function1"的方法来实现.但是试想一个对象内部怎么能知道该对象实例的变量名呢?
      

  2.   

    指定它的事件为该对象的一个方法,可使用类似于onchange="javascript:oTest.function1();"
    来调用,因为你的后面说的不太清楚,可否发个详细邮件给我:[email protected]