готов документ не в формате jquery - является ли окно / загрузка лучшим / единственным способом? - PullRequest
0 голосов
/ 06 октября 2011

Я хочу, чтобы функция запускалась, когда document готов , но нет логической причины использовать jquery, так как небольшой объем работы на странице не гарантирует загрузку файла этот размер.

Обычно я бы использовал window.onload = function(){}; - насколько я могу судить, это рекомендуемый подход.

Мысли / рекомендации? Я бы очень хотел услышать мнение некоторых разработчиков по этому поводу, если есть лучший способ.


Примечание-
Если этот вопрос лучше задать в другом месте (потому что он несколько субъективен) - пожалуйста, дайте мне знать, и я закрою его и задам там.

Ответы [ 4 ]

2 голосов
/ 06 октября 2011

Если вы хотите иметь универсальный поддерживаемый метод для не-JQuery-события "domready", можно создать функцию, которая должна быть выполнена, когда DOM готов, и добавить тег <script> в конце документ:

...
<script>
function runOnceReady(){
...
}
</script>
</head><body>
....
<script>runOnceDomReady()</script>
</body></html>
2 голосов
/ 06 октября 2011

Проблема с window.onload заключается в том, что он будет ожидать загрузки всего контента (например, изображений).Обычно вам нужно только, чтобы DOM был готов к манипулированию.Тем не менее, вы должны знать, что jQuery устраняет множество кросс-браузерных несоответствий при выполнении этого, и поэтому выполнение этого самостоятельно будет небольшой проблемой в заднице.По этой причине вам, возможно, захочется заглянуть в эту библиотеку , которая содержит в себе кросс-браузерную готовность DOM.

0 голосов
/ 06 октября 2011

Вы можете добавить onload к тегу body на странице.

Сделайте что-то вроде:

<body onload="myCrazyFunction()">
0 голосов
/ 06 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...