0

HTML ページにボタンがあり、そのボタンのイベント ハンドラーdojo.connect()をアタッチするために使用しています。ajax 呼び出しが完了した後に、このイベント ハンドラーを割り当てています。ボタンを 1 回クリックすると、イベント ハンドラが複数回呼び出されるという問題に直面しています。onclickbutton

同じボタンの同じイベントにイベント ハンドラーを割り当てるメソッドを呼び出すと、そのイベントに対してハンドラーが 2 回呼び出されますか? それとも、道場はそれを一度だけ行うほど賢いですか?例えば、

var i=3;
while(i==0){
 dojo.connect(dojo.byId('mybutton'),'onclick','hanlderMethod');
 i--;
}

「 」handlerMethodをクリックすると、 が 3 回呼び出されますか。mybutton

それが本当なら、私の問題はそれに関連しています。

4

2 に答える 2

0

同様の問題に直面しましたが、イベントの添付がループの外で行われたときに解決されました。

よろしく、ナムラタ

于 2014-04-07T10:57:50.143 に答える
0

handlerMethod が複数回呼び出されることはありません。1回のイベントにつき1回のみ。そのため、リレーション(イベント、ハンドラー)を変更した場合にのみ、再度起動する必要があります。jsfiddle の例を次に示します。

http://jsfiddle.net/Ktnab/

function test() {
alert("test");
}

function test2() {
alert("test");
}

dojo.connect(dojo.byId("btn"), "onclick", test);
dojo.connect(dojo.byId("btn"), "onclick", test);

Dojo connect に関する興味深い記事をチェックしてください。

http://www.ibm.com/developerworks/web/library/wa-dojoconnect/index.html?ca=drs-

于 2013-03-19T08:15:49.123 に答える