【发布时间】:2015-06-28 16:36:01
【问题描述】:
我的网站在 jQuery + AJAX 上运行,并且只有一个 javascript 文件,当用户打开任何页面时都会加载一次,所以我习惯于为所有元素添加事件侦听器,例如:$(document).on(...)。
有一段时间我注意到代码中有太多.on(...),我很害怕。每次用户单击链接/返回按钮时,我都会服用 9 颗药丸并强制它删除无用的听众。
function page_reload(){
if(c.r == 'http://example.com/page1'){
$(document).on('click', '#send', func.send);
$(document).on({mouseenter: func.me, mouseleave: func.ml}, '#chan');
}else{
$(document).off('click', '#send');
$(document).off('*', '#chan');
}
}
那么有什么意义吗?也许很多听众做了一些我不知道的坏事?
【问题讨论】:
标签: javascript jquery event-handling