0

datetimebox(_onBlur)のイベントを切り離したかったのです。ファイル「TextBox.js」に記載されています。「dojo.disconnect」は、JavaScript で定義したカスタム イベントで機能します。しかし、dojo ウィジェット自体についても同じことをしたいと考えています。dojo ウィジェット(Textbox.js)で宣言された(_onBlur)イベントを切断できません。

以下はTextbox.jsウィジェットでの宣言です..以下のイベントが呼び出されないという切断イベントをどのように宣言する必要がありますか???..再び以下のコードはウィジェットからのものであり、それは私のコードではありません.. dojo.disconnectを使用してカスタム js ファイルで宣言されたイベントを切断しますが、dojo ライブラリに付属するウィジェット js ファイルで宣言されている以下のようなイベントを切断できません..提案してください

_onBlur: 関数(e){

        this._setBlurValue();

this.inherited(引数);

        if(this._selectOnClickHandle){
            this.disconnect(this._selectOnClickHandle);
        }
        if(this.selectOnClick && dojo.isMoz){
            this.textbox.selectionStart = this.textbox.selectionEnd = undefined; // clear selection so that the next mouse click doesn't reselect
        }

        this._updatePlaceHolder();

},

サイモン、Dojo の組み込みイベントを独自のカスタム イベントでオーバーライドする場合に有利なので、これが必要です。例としては、Dojo グリッドを使用して矢印キー (上、右、下) を使用すると、セルが強調表示され (点線がセルを囲んでいます)、現在のセルを示します ... 無効にしたい場合、つまりセルを強調表示したままにする場合しばらくの間、そのセルに編集/テキストを表示するとしますが、ユーザーが再度矢印キーを押そうとすると、望まない点線がまだ回転していることがわかります...最も簡単なのは、このイベントを無効にする/切断することですグリッドに関連付けられている場合のイベントは、キーイベントをリッスンし、セルの hghlgt を実行する「doKeyEvent」です。キープレスとその他のイベントによってこれを達成し、グリッドが行っていることを打ち消すか無効にしますが、それでも..これを無効にする/切断するのが最も簡単ですグリッドイベント自体 &

4

2 に答える 2

0

Dojo 切断は、dojo.connect によって追加されたイベントでのみ機能します。あなたがやろうとしていることがあなたにはできないと思います。あなたの問題を回避する別の方法があるかもしれないのに、なぜこれを行う必要があるのですか?

于 2012-04-23T16:23:44.170 に答える