我有一个由 jquery 就绪范围内的类选择器触发的单击事件:
$(".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>