Вопрос

Я использую какой-то внешний jQuery с $(document).ready() для вставки рекламы после запуска события document ready, что-то вроде:

$(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
});

Это делается для того, чтобы предотвратить блокировку пользовательского интерфейса из-за медленной загрузки рекламы.До сих пор это работало хорошо.

Теперь мне нужно вставить еще несколько объявлений через нашу систему CMS, это не может быть частью внешнего JS-файла, поэтому мне интересно, могу ли я использовать второе событие document ready и вставить его, используя встроенный тег script?Если да, то каков будет порядок выполнения: сначала внешнее событие JS document ready event или встроенный скрипт?

Это было полезно?

Решение

Вы можете использовать столько методов событий, сколько захотите, jquery объединяет их в очередь.Порядок вызова метода такой же, как и порядок определения: последний добавленный метод вызывается последним.

Полезной вещью также может быть то, что вы можете загружать html-код с помощью скрипта, используя ajax, и когда код загружается в DOM, также будет вызываться $().ready(), поэтому вы можете загружать рекламу динамически.

Другие советы

Да, добавление нескольких $ (documents).ready()ов не является проблемой.Все это будет выполнено на событии ready.

Однако обратите внимание, что ваш пример кода неверен.$(документ).ready() принимает функцию, а не выражение.Таким образом, вы должны предоставить ему функцию, подобную этой:

 $(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
 });

Эта функция будет выполнена, когда документ будет готов.

Вот небольшой урок о готовности нескольких документов

Дополнительным бонусом способа jQuery является то, что у вас может быть несколько определений ready() .Это относится ко всем событиям jQuery.

$(документ).готово (функция () { оповещение ("Номер один");});

$(документ).готово (функция () { оповещение ("Номер два");

JQuery вызывает готовые функции в том порядке, в котором они определены.Если вы хотите сначала загрузить некоторые данные и отложить выполнение, используйте удержаниеГотово().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top