jQueryで動的に追加したタグやid、classにイベントを登録したい時
忘れそうなのでメモ。
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>');
なるほど。こりゃ便利だ。
-
前の記事
perlで関数型言語(風)の処理 – 変数に関数を代入して実行。 2011.02.18
-
次の記事
手書き文字出力 WordPressプラグイン wp-tegaki を試してみる 2011.03.03