0

誰かが私に理由を説明できますか

var divdbl = $("div:first");
var i = 0;

divdbl.change(function(){
    alert('change');    
}).click();

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change();

こうやっても自分を呼んでいるように振る舞う

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change();

divdbl.change(function(){
    alert('change');    
}).click();

あたかも彼らが他の人ではなく自分自身を呼んでいるかのようです。

編集

var divdbl = $("div:first");
var i = 0;

divdbl.change(function(){
    alert('change');    
});

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change().click();

私が達成したかったのは、ロード時に一度実行するように強制することであることに気づきました。上記のコードは意味がありますか?

4

1 に答える 1

0

まず第一に、change()定義される前にトリガー ハンドラーを呼び出しているため、問題があります。何を達成しようとしていますか?これらのイベントの関数を呼び出し.change()て実行します。.click()

編集:

質問に対する最近の更新に基づいて: はい、意図したとおりに機能します。ロード時に .click と .change の両方が呼び出されます。

于 2011-04-27T03:17:50.753 に答える