3

だからここに私が使用しているコードがあります:

$(function(){
    $('<div id="info" style="width:auto; height:auto;"/>').load('test.php?var='+d+' #se', function() {
        $('#main').append(this);
    });
});
}

ここで、(入力ボックスでキーアップを使用して) 関数をトリガーすると、ロードされた div がキーアップ イベントごとに何度も追加されます。

私はjQuery 1.5を使用しています-古いバージョン、つまり1.2.6では、最初の後にdivが追加されず、正常に機能しました(バグ?)。

div が何度も追加されないようにするにはどうすればよいですか? (残念ながら、「トリガー」を無効にすることはできません。)appendToも試しましたが、これはほとんど同じ問題です。

誰か助けてください!どうもありがとう

4

2 に答える 2

2

.onekeyup ハンドラーをバインドするために使用できるように聞こえます。

$('whatever').one('keyup', function() {
    $('<div id="info" style="width:auto; height:auto;"/>').load('test.php?var='+d+' #se', function() {
        $('#main').append(this);
    });
});

この.one関数.bindは、一度実行した後に自分自身をバインド解除することを除いて、同じように動作します。

于 2011-02-09T06:27:49.297 に答える
0

使用する

$(function(){
   if($("#info").length==0)
   {
      $('<div id="info" style="width:auto; height:auto;"/>').load('test.php?var='+d+' #se', function() {
        $('#main').append(this);
      });
   }
});
}

「#info」が動的に追加されると仮定します。

于 2011-02-09T05:28:24.113 に答える