0

dojo.connect私はこのような声明を追加しました、

dojo.connect(dojo.byId(this._paramsForm), "onChange", this, "_handleUpdate");

この時点で、ブラウザでデバッグして値を確認すると、this._paramsForm有効な値が含まれています。ただし、イベントがトリガーされると、onChange関数は呼び出されません。ステートメントには何らかの問題があるはずですがdojo.connect、それを追跡することはできません。

これも試してみましたが、運が悪い:(

dojo.connect(this._paramsForm, "onChange", this, "_handleUpdate");

このリンクも参照してください。運が悪い dojo.connect は「onclick」をボタンに接続しません

しかし、同じことが Chrome と Firefox でもまったく問題なく機能しています。

この問題を解決するのを手伝ってください!

4

1 に答える 1

0

イベントハンドラーの登録方法が間違っていると思います-これを試してください:

require('dojo/_base/lang', 'dojo/on');

on(this._paramsForm, "change", lang.hitch(this, _handleUpdate));

最新バージョンでは、プレフィックス「on」が削除されていることに注意してください。「クリック」、「変更」などを使用するだけです。イベント名の通り。lang.hitch - _handleUpdate が「this」のコンテキストで実行されるようにします。

古いバージョンの dojo (< 1.7) を使用している場合、コードは次のようになります。

dojo.connect(this._paramsForm, "onChange", dojo.hitch(this, _handleUpdate));
于 2013-07-23T04:29:50.267 に答える