【发布时间】:2011-09-16 19:30:52
【问题描述】:
我正在制作一个中间有一个 div 的页面,其 id 为“devices_div”,如下所示:
<div id="devices_div"></div>
页面加载或表单提交时,会将resource_table.php的内容加载到div中:
<script>
jQuery(document).ready(function()
{
jQuery("#devices_div").load("resource_table.php");
jQuery("#form").submit(function(event)
{
event.preventDefault();
var form = jQuery(this);
jQuery.ajax({
type: "POST",
data: form.serialize(),
url: form.attr("action"),
success: function(data)
{
jQuery("#devices_div").load("resource_table.php");
}
});
});
});
</script>
resource_table.php的内容是:
<script>
jQuery("a#add_device").live('click', function()
{
jQuery("table#devices tr:last").after("<tr><td>Test</td><td>Test</td></tr>");
});
</script>
<table id="devices">
<tr>
<th>
Name
</th>
<th>
Xml Name
</th>
</tr>
</table>
<a id="add_device" href="#">Click here to add a device</a>
当我第一次单击 id 为“add_device”的链接时,它会在“设备”表中添加一行。
问题是:当我提交表单并第二次单击链接时,它会添加两行。如果我提交表单并第三次单击链接,它会添加三行,等等。所以 jQuery 函数不止一次发生。每次点击应该只发生一次。有什么想法吗?
【问题讨论】: