我正在表格底部的div框中添加表單的當前列表。 當有人點擊添加按鈕時,我正在追加div框。如何在jquery中添加div元素(如果不存在)
但是,當我點擊添加按鈕多次,然後多個div框被追加。
有沒有什麼辦法,無論我點擊按鈕多少次,只有一個實例被附加到div框。
這是我的代碼
$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);
我正在表格底部的div框中添加表單的當前列表。 當有人點擊添加按鈕時,我正在追加div框。如何在jquery中添加div元素(如果不存在)
但是,當我點擊添加按鈕多次,然後多個div框被追加。
有沒有什麼辦法,無論我點擊按鈕多少次,只有一個實例被附加到div框。
這是我的代碼
$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);
一個簡單的解決辦法是具有布爾標誌,一旦你點擊按鈕,你可以切換。另外,實際上有一個提供這個確切功能的jQuery函數。
這就是所謂的one()
-
附加的處理程序爲元素的事件。該處理程序每個元素最多執行一次 。
所以您的代碼會是這個樣子 -
$("#someTrigger").one('click', function(){
$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);
});
布爾方法也很簡單 -
var wasClicked = false;
$("#someTrigger").on('click', function(){
if (wasClicked == false){
// append your form
wasClicked = true;
}
});
參考 -
連接使用.one()
您的收聽。
$("button").one('click', function(){
// Your code
});
瞭解更多:http://api.jquery.com/one
這是你使用jQuery 1.7+的假設下
這個布爾方法在事件上效果最好 – user26