Javascript 慢点击处理程序?
所以我有这段代码<代码>提交按钮指的是大约800个按钮元素。当我点击这800个按钮中的一个时,代码需要一段时间才能跳转到click handler函数。为什么会这样?我能做些什么来修复它 更新:因此,导致按钮变慢的原因似乎是,按钮是在一个胡须模板中生成的,但如果我不使用模板生成它,那么它会变快。知道为什么会这样吗Javascript 慢点击处理程序?,javascript,jquery,mustache,Javascript,Jquery,Mustache,所以我有这段代码提交按钮指的是大约800个按钮元素。当我点击这800个按钮中的一个时,代码需要一段时间才能跳转到click handler函数。为什么会这样?我能做些什么来修复它 更新:因此,导致按钮变慢的原因似乎是,按钮是在一个胡须模板中生成的,但如果我不使用模板生成它,那么它会变快。知道为什么会这样吗 已解决:显然,是我的模板中的一个类导致按钮按下变慢。。奇怪..为什么将事件委托给文档?您有800个提交按钮?我想看看截图。还建议您分析JavaScript的内存使用情况。这里该死的近乎瞬时:@
已解决:显然,是我的模板中的一个类导致按钮按下变慢。。奇怪..为什么将事件委托给
文档
?您有800个提交按钮?我想看看截图。还建议您分析JavaScript的内存使用情况。这里该死的近乎瞬时:@tymeJV-因为正如文档所说,“除了能够处理尚未创建的子元素上的事件外,委托事件的另一个优点是,当必须监视许多元素时,它们的开销可能会低得多。”5秒?我在我的chrome浏览器中尝试了你的JSFIDLE,结果:不到1秒。。。你的设置是什么?
$(document).ready(function() {
loadElementsWithSubmitButton();
$(document).on('click', '.submit_button', function() {
alert("Took more than 5 seconds to get here...");
return false;
});
});