19

私はJQueryを初めて使用するので、我慢してください:)。

私は簡単な問題を抱えています:

$(document).ready(function() {

     $("#instrument").change(function() {
         $("#tunings").html("<select id=\"TuningSelector>\"[..]</div>");
     });

     $("#TuningSelector").change(function() {
         DoSomethingWithTheValue();
      }); 

 });

問題は次のとおりです。機器が変更されると、スクリプトはTuningSelectorの変更に応答しなくなります。JQueryが新しいTuningSelector要素を認識しないように...

JQueryなどで更新を呼び出す必要がありますか?更新されたDOMが表示されるようにしますか?

4

2 に答える 2

37

通常、onを使用して、セレクターに一致する新しい要素にハンドラーを適用し、DOMの上位の要素に委任します。

$('body').on( 'change', '#control', function() {
    DoSomething();
});
于 2009-05-02T15:56:06.483 に答える
2

jQuery イベントでは、イベントを新しい要素に適用する場合は.liveメソッドを使用しますが、jQuery 1.3 では、blur、focus、mouseenter、mouseleave、change、submit イベントをライブ イベントとしてサポートしていません。(変更、送信、およびぼかし/フォーカスは、jQuery 1.4のロードマップにあります)

代わりに、liveQueryプラグインを使用できます。

于 2009-05-02T16:19:57.363 に答える