25
6月
2009
6月
2009
live or die
jquery1.2.6を使っていたら、$(this).after(str)で出力したDOMのイベントハンドラが外れていた。今まで雰囲気で使ってきてたのだが、よく考えてみれば、各要素のイベントを登録してたのは、$document.ready()のコールバック関数なのだから、その通り、documentがreadyした時しかバインドされない訳ですね。
HTMLをappendしたりremoveしたりすればするほど、イベントを都度バインドしているようでは煩雑になるようでは困るとあぐねていたら、どうやらjquery1.3以上では、bindというAPIの他に、live/dieという将来的に生成されるセレクタにも適用されるバインド方法があるらしい。(dieはunbindらしい)
素晴らしいなコレ。
てか、最近jqueryにかなりハマッてきた。
live(type, fn) – jQuery 1.3.2 日本語リファレンス
Related posts:
Category: 日記