2011年 2月 18

忘れそうなのでメモ。

jQueryのappendで追加したdivにclickイベント | OKWave

jQueryのappendで追加したdivにclickイベントは使用できるのでしょうか?
〜〜略〜〜
最初からあるdivでは正常に動作するので、appendで後付したからだと思います。
これをうまく行う方法はないでしょうか?

こんな質問(↑では解決していない)

$('.btn').click(function(){alert('oh!');});
$('#id').append('<a href="#" class="btn">ボタン</a>');

こんな感じだとうまくいかない。
ボタンというテキストにリンクが貼られて表示されてもクリックイベントが起こらない。

$().click() はHTMLで最初にDOMが構築されるときに書いていないとイベントに登録されない様子。

そんな時には、live() を使うといいようだ。

$('.btn').live('click', function(){alert('oh!');});
$('#id').append('<a href="#" class="btn">ボタン</a>');

なるほど。こりゃ便利だ。

参考:「午前様」の日記: [jQuery] live()が激しく便利な件について

More from my site


Filed under: jQuery

Trackback Uri


Trackbacks/Pingbacks

  1. […] こちらを参考にさせていただきました。 Posted under CakePHP […]



コメントする