jquery ready スコープ内のクラス セレクターによってトリガーされるクリック イベントがあります。
$(".testBtn").click(function()
{
alert("This Works");
});
これは静的ボタンでは問題なく機能しますが、「addRowBtn」ID のボタンをクリックすると追加される動的ボタンでは機能しません。イベントが登録された後にボタンが作成されることに関係があると思いますが、それでも新しいボタンには「testBtn」クラスがあるため、機能するはずです。何が間違っているのか、動的ボタンをクラスセレクターのクリックイベントに登録する方法はありますか?
これがコード全体です。コピーして html に貼り付け、「追加ボタン」をクリックして、追加されたボタンをクリックしてみてください。何も起こらないことがわかります。
<html>
<head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js'></script>
<script>
$(function()
{
$(".addRowBtn").click(function()
{
$("#mainTable tr:last").after("<tr><td><button class='testBtn'>NotWorking</button></td></tr>");
});
$(".testBtn").click(function()
{
alert("This Works");
});
});
</script>
</head>
<body>
<table id="mainTable">
<button class="addRowBtn">Add button</button>
<tr><th>Testing</th></tr>
<tr><td><button class='testBtn'>Working</button></td></tr>
</table>
</body>
</html>