我正在做一個網頁,在它的中間有一個ID的DIV「devices_div,」就像這樣:jQuery函數發生不止一次,爲什麼?
<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>
當我點擊了 「add_device」 杉的ID鏈接一次,它增加了一行表「設備」就好了。
下面是問題:當我提交表單並第二次單擊鏈接時,它會添加兩行。如果我提交表單並單擊第三次鏈接,它會添加三行等,所以jQuery函數會發生多次。每次點擊只能發生一次。有任何想法嗎?
將活動事件處理程序更改爲綁定修復它。謝謝! 事件處理程序不在父頁面中的原因是因爲我需要after()的內容根據正在加載的資源動態更改。 – David