【发布时间】:2012-09-20 17:35:50
【问题描述】:
我有一个div 动态填充paragraph tags(它们最初不存在)。我希望每个新动态添加的<p> 在被点击时执行某些操作——即附加一个点击事件。
我知道如何做到这一点的唯一方法是使用live 和delegate。
$('div.fromSelected p').live('click', function () {
$("<p>" + $(this).text().substr(3) + '</p>').appendTo('.fromOptionList');
//$(this).parent().remove();
$("#auto_box").getNiceScroll().resize();
$(this).remove();
$("#auto_box2").getNiceScroll().resize();
});
但是在对动态添加的段落调用 click 事件一段时间后,我收到以下错误:
未捕获的 RangeError:超出最大调用堆栈大小
什么可以规避这个问题?
【问题讨论】:
-
你用的是什么版本的jQuery?
-
-
这是正确的,还是格式问题?
&ltp> -
如果您知道如何使用
delegate,为什么还要使用live?由于您使用的是 1.7.2,因此值得使用.on代替 -
到底有多少 'div.fromSelected' 元素?
标签: jquery