0

我在表格底部的 div 框中添加了我当前列表的表单。当有人单击添加按钮时,我正在附加 div 框。

但是当我多次单击添加按钮时,会附加许多 div 框。

有没有什么方法可以让无论我点击多少次按钮,只有一个实例会附加到 div 框。

这是我的代码

$var = $(this).parent().parent();
$var.append($('.jq_div')[0].outerHTML);
4

2 回答 2

4

使用 . 附加您的听众.one()

$("button").one('click', function(){
  // Your code
});

阅读更多:http ://api.jquery.com/one

这是假设您使用的是 jQuery 1.7+

于 2012-10-09T00:32:12.640 回答
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;
  }
});

参考 -

于 2012-10-09T00:33:04.043 回答