Это $(документ).готовы ли вы к этому?


Я видел этот вопрос в stackoverflow, но не чувствую, что на него ответили вообще.

и $(document).ready надо?

Я связываю все мои javascripts в нижней части страницы, поэтому теоретически они все работают после того, как документ готов в любом случае.

5 101

5 ответов:

и $(document).ready надо?

нет

если вы разместили все ваши скрипты перед </body> закрывающий тег, вы сделали то же самое.

кроме того, если сценарий не нуждается в доступе к DOM, не имеет значения, где он загружен за пределами возможных зависимостей от других сценариев.

для многих CMS, у вас нет большого выбора, где скрипты загружаются, так что это хорошая форма для модульного кода, чтобы использовать document.ready событие. Вы действительно хотите вернуться и отладить старый код, если вы используете его в другом месте?

off-topic:

в качестве примечания: вы должны использовать jQuery(function($){...}); вместо $(document).ready(function(){...}); как это заставляет псевдоним $.

нет, если ваш javascript-это последнее, что вам нужно перед закрытием, вам не нужно будет добавлять эти теги.

в качестве примечания, стенография для $(документ).готов код ниже.

$(function() {
// do something on document ready
});

этот вопрос может быть хорошим. Ты его читал? jQuery: зачем использовать документ.готовы ли внешние JS в нижней части страницы?

нет, это не обязательно, если вы знаете, что у вас нет никаких отложенных вещей, и в большинстве случаев вы будете знать, разработали ли вы то, над чем вы работаете сверху донизу.

--Это когда вы вводите чей-то код, без тщательного аудита его, что вы не знаете.

Итак, спросите себя, используете ли вы фреймворк или редактор, который помогает вам со структурой? Вы приносите в чужой код, и вы не потрудились прочитать каждый файл? Готовы ли вы пройти через операционную систему, браузер и матрицу версий браузера для тестирования вашего кода? А ты нужно чтобы выжать каждую унцию скорости из вашего кода?

документ.ready() делает многие из этих вопросов неуместными. документ.готов() был разработан, чтобы сделать вашу жизнь проще. Он поставляется с небольшим (и я осмелюсь сказать, приемлемым) хитом производительности.

Я видел ссылки / сообщения в блоге через Интернет относительно использования jquery в document.ready. На мой взгляд, как использование его, так и размещение всего вашего javascript в нижней части страницы являются действительными. А теперь вопрос в том, что будет лучше? Это просто вопрос стиля программирования.

нет, не надо. Вы можете либо поместить тег сценария прямо перед тегом закрытия тела, либо, если вы поддерживаете IE9+, вы можете использовать собственный JS.

<script>alert('DOM Loaded!');</script>
</body>

<script>
document.addEventListener("DOMContentLoaded", function(event) { 
      // DOM has loaded ready to fire JS scripts
    });
</script>