Существует сайт с одной главной 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() {
.....
});
});
Q: Как я должен структурировать или организовать код яваскрипта для любых событий, как click
на 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
.
Итак, как мне это сделать? Или существуют другие способы связывания событий? Какие-нибудь советы по работе сайта? Спасибо.
i Это неправда, это не хороший селектор: когда это так, то используйте find() как: '$ {" # content "). find (". anyClassOnC ontactsHtml ")' – reyaner
@reyaner Оба работают, но найти намного быстрее в более крупной структуре. Спасибо, что упомянул об этом. –