0

arindicのクラスを使用してテキストエリアを動的に作成しdocument.ready()ます。

次に、動的な生成が終了した後、まだdocument.ready()ルーチン内で、これらの要素を次のkeypressようなイベントにバインドします。

$('.arindic').bind('keypress', function(evt){
   // do lots of stuff
});

しかし、それは機能していません。「たくさんのことをする」という機能がうまく機能していることはわかっています。なぜなら、下部に次のような機能があるからdocument.ready()です。

 $('.arindic').keypress(function(evt){ // do lots of stuff // });

これは、ページに静的にすでに存在していたテキストエリアに対しては正常に機能します。動的要素をバインドする方法に何か問題がありますか?代わりに.bind()私も試し.on()まし.live()たが、役に立ちませんでした。

4

1 に答える 1

2

.on()静的要素にバインドし、動的に作成された要素にバブルアップするために使用するのが最善の策です。

$(document).on('keypress', '.arindic', function(event)
{
    // do lots of stuff
});

ドキュメントを使用してバインドするのは良いことではありません。これを、.arindic含まれている静的な最上位の要素に変更し、そこからこのイベントが発生するようにします。

于 2013-03-17T10:55:00.147 に答える