Подписаться на функцию $ (). Ready в jQuery - PullRequest
1 голос
/ 17 февраля 2009

На каждой странице я создаю свой собственный объект js.

Я хочу подписаться на событие $ (). Ready, чтобы при его срабатывании запускалась моя функция init объектов.

Возможно ли это?

Обновлено

Мой объект выглядит так:

var blah = function() {
    var init = function() {
     //init function stuff
    };
    return {
     InitPage: function() { init(); }
    };
 }();

Тогда на моей странице я сделаю:

blah.init();

Ответы [ 3 ]

9 голосов
/ 17 февраля 2009
$(document).ready(function() {
    YourObject.init();
});
2 голосов
/ 17 февраля 2009

Возможно, я неправильно понимаю ваш вопрос, но я думаю, что вы хотите сделать, это поместить свой код инициализации в этот блок:

$(document).ready(function() {
    // your code here
});

Когда вы передаете функцию в функцию jQuery ready(), она объединяет новую функцию со всеми предыдущими функциями. Другими словами это будет работать:

$(document).ready(function() {
    alert("a");
});

$(document).ready(function() {
    alert("b");
});

Вам не нужно беспокоиться о перезаписи вашего предыдущего ready() вызова.

1 голос
/ 17 февраля 2009

Проверьте событие jQuery live .

Когда вы связываете «живое» событие, оно связывается со всеми текущими и будущими элементами на странице (используя делегирование события). Например, если вы привязали живой щелчок ко всем элементам "li" на странице, а затем добавили еще один li позже - это событие щелчка продолжило бы работать для нового элемента (это не относится к bind, который должен быть повторен. привязан ко всем новым элементам).

Пример:

$("p").live("click", function(){
    $(this).after("<p>Another paragraph!</p>");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...