1

フラグ変数をノードに渡して、フラグが true かどうかを確認してから dojo.connect (flag、onclick、callback) を実行しようとしています。その他のコールバック関数をスキップします。

4

1 に答える 1

1

Node は、基本的に HTML を構成する各要素の DOM オブジェクト表現です。

Dojo Toolkit の公式ドキュメントでその機能を確認してください: https://dojotoolkit.org/reference-guide/1.10/dojo/connect.html

指定していませんが、1.6 で Dojo を使用していると思います。構造的な機能に AMD アーキテクチャが実装されているため、これは古い慣行です。次のようなものが必要です。

// Saving your handle
var handle = dojo.connect(node, "onclick", callback);
// Removing the handle
dojo.disconnect(handle);

使用dojo.connect(flag, onclick, callback)する場合、要素、DOM ノード (この場合は「フラグ」) があると想定します。

Dojo 1.6 以前のバージョンでは、次のような ID でノードを取得できます (一部の公式ドキュメント: https://dojotoolkit.org/api/#dojo.byId ) 。

// Here's your node (by ID)   
var my_node = dojo.byId("foo");

あなたの理解に役立つことを願っています。

このようなものが必要ですか?

// Your custom callback
function your_callback_function() {
  // You business rules, in this case:
  if (dojo.query('#your_flag:checked')) {
    // Do something..
  }
}

// binding event to the DOM-node and callback 
var handle = dojo.connect(dojo.byID("your_flag"), "onclick", your_callback_function);

< 1.6 バージョンの Dojo Events の機能については、 https ://dojotoolkit.org/reference-guide/1.6/dojo/index.html#events でもう少し詳しく説明しています。

AMD と Dojo が変更されたため、その新機能について詳しく知ることをお勧めします。

于 2016-09-08T14:54:30.840 に答える