1

this.get_element() を介して独自の関数の要素にアクセスしようとしましたが、機能しません。

    Type.registerNamespace("LabelTimeExtender1");

LabelTimeExtender1.ClientBehavior1 = function(element) {
LabelTimeExtender1.ClientBehavior1.initializeBase(this, [element]);
var testelement=this.get_element();
var timestamp= this.get_element().attributes['TimeStamp'].value;
alert("in constructor");

},

 LabelTimeExtender1.ClientBehavior1.prototype = {
 initialize: function() {
    LabelTimeExtender1.ClientBehavior1.callBaseMethod(this, 'initialize');
    setInterval (this.timer,1000);
    alert("after");

},
dispose: function() {        
    //Add custom dispose actions here
    LabelTimeExtender1.ClientBehavior1.callBaseMethod(this, 'dispose');
},
timer: function(){

debugger;
            var date= new Date(this.timestamp);
            var datenow= new Date ();
            this._element.innerText=" ";
              if(date.getUTCFullYear<datenow.getUTCFullYear)
            {
             var myelement= this.get_element();
             myelement .innerHTML= date.getUTCFullYear.toString();
            }
            if(date.getUTCMonth<datenow.getUTCMonth)
            {
            this.get_element().innerHTML=date.getUTCMonth.toString();
            }
            if(date.getUTCDay<datenow.getUTCDay)
            {
            this.get_element().innerHTML=date.getUTCDay.toString();
            }
            if(date.getUTCHours <datenow.getUTCHours )
            {
             this.get_element().innerHTML=date.getUTCHours .toString();
            }
            if(date.getUTCMinutes<datenow.getUTCMinutes)
            {
            this.get_element().innerHTML=date.getUTCMinutes.toString();
            }


}




}
 LabelTimeExtender1.ClientBehavior1.registerClass('LabelTimeExtender1.ClientBehavior1',   Sys.UI.Behavior);

  if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

ここでは、カスタム属性「TimeStamp」にアクセスして時間を計算し、表示するラベルに割り当てようとしています。

4

1 に答える 1

2

デリゲートを介して関数を呼び出してみてください。そうすれば、[this] キーワードに問題はありません。

このようなもの:

     setInterval (Function.createDelegate(this, this.timer),1000)
于 2012-11-23T21:25:17.443 に答える