我在表格底部的div框中添加了当前列表。 当有人点击添加按钮时,我会附加div框。
但是当我多次单击添加按钮时,会附加许多div框。
有没有办法,无论我点击按钮多少次,只有一个实例会附加到div框。
这是我的代码
$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);
答案 0 :(得分:4)
使用.one()
附加您的听众。
$("button").one('click', function(){
// Your code
});
了解详情:http://api.jquery.com/one
这是假设您正在使用jQuery 1.7 +
答案 1 :(得分:0)
一个简单的解决方案是拥有一个布尔标志,您可以在单击按钮后切换。此外,实际上有一个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;
}
});
参考 -