有一个网站有一个index.html
主页(带有<html><head>...
)和类似gallery.html
,的页面contacts.html
,但只有<div>
容器和没有<html><head>...
.
所以,当我点击index.html
链接时contacts.html
会发生什么:
$('.contacts').click(function(e) {
e.preventDefault();
$('#content').load('contacts.html', function() {
.....
});
});
问:我应该如何为click
on之类的任何事件构建或组织 javascript 代码contacts.html
?
例如:
[1] 我可以在contacts.html
javascript 代码上编写,例如:
<script type='text/javascript'>
$(function() {
$('.anyClassOnContactsHtml').click(function(e) {
.....
});
});
</script>
但正如我猜想的那样,每次我加载contacts.html
它时都会再次读取函数,这就是为什么网站的速度和性能可能较低的原因,因为我在每个页面上都有 50 多个点击事件。
[2] 我可以写index.html
代表:
<script type='text/javascript'>
$(function() {
$('#content').on('click', '.anyClassOnContactsHtml', function(e) {
.....
});
});
</script>
它可以工作,并且浏览器读取点击功能 1 次,但有 100 多个点击功能有 2-3 秒(!)延迟,所以它工作得非常慢。
为了更快地工作,我应该而不是#content
写离我更近的容器.anyClassOnContactsHtml
,但我不能,因为index.html
只有#container
.
那么,我该怎么办?还是有其他方法来绑定事件?关于网站性能的任何提示?谢谢你。