忘れそうなのでメモ。
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で動的に追加したタグやid、classにイベントを登録したい時」への2件の返信
[…] こちらを参考にさせていただきました。 Posted under CakePHP […]
[…] こちら Category: jQuery | […]