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