.on()
如果元素在 DOM 中不存在,jQuery with event 会发生什么?
例如,如果我使用这个:
$(document).on('click', "#registerFormSubmit", function(){
// do something here
});
而且我没有#registerFormSubmit
出现在所有页面上,浏览器是否被代码拖慢了,或者不是吗?
那么我为什么要这样做呢?
我不想将我的 javascript 代码拆分为 10 个 .js 文件,并根据哪个页面需要包含每个文件,因为我相信服务器/浏览器在 1 个文件中传输数据会更快(尤其是如果文件被混淆和缩小)。
如果代码甚至会减慢不包含该元素的页面的速度,那么将所有代码保存在一个文件中是否是一个很好的解决方案?
var page = window.location.pathname.split('/');
if (page[1] == 'contact'){
$(document).on('click', "#registerFormSubmit", function(){
// do something here
});
}
请记住,该事件为 DOM 中或将来将在 DOM 中的.on()
任何元素附加一个事件处理函数。因此,我相信即使该元素目前不存在,它也会减慢浏览器的速度。
但是,if (page)
如果页面不匹配,则建议的解决方案不应附加事件,imo。
任何人都可以对此有所了解吗?