none
請問關於Jscript中宣告CLASS中的新建物件EVENT問題 RRS feed

  • 問題

  • 程式碼如下

    new Class_A();
    Class_A.prototype.init=init;

    Class_A.prototype.ABC=ABC;

     

    function Class_A()
    {

    this.G_Obj_Div="";

    }

    function init(Obj_Div)
    {

    this.G_Obj_Div=Obj_Div;

    this.img_Contral=document.createElement('img')

    this.G_Obj_Div.appendChild(this.img_Contral);
    this.img_Contral.onclick=this.ABC;

    }

     

    function ABC()

    {

    this.XXXXXX

    }

     

    問題就出在紅色這行,this會變成img物件,也就是img_Contral,而不是Class_A,請問有哪種特殊語法可以讓我抓到CLASS,多謝。

    2008年1月9日 上午 03:21

解答

  • 找到一個解決方式

     

    new Class_A();
    Class_A.prototype.init=init;

    Class_A.prototype.ABC=ABC;

     

    function Class_A()
    {

    this.G_Obj_Div="";

    }

    function init(Obj_Div,Class_A)
    {

    this.G_Obj_Div=Obj_Div;

    this.img_Contral=document.createElement('img')

    this.G_Obj_Div.appendChild(this.img_Contral);
    this.img_Contral.onclick=function() {this.ABC(Class_A)};

    }

     

    function ABC(Class_A)

    {

    Class_A.XXXXXX

    }

     

    將物件傳過去,這樣就可以確保是叫到原來的物件

    2008年1月15日 上午 02:50