| 
 Какое DOM или BOM событие происходит, когда AJAXом перегружаем панель? Здравствуйте! Рад, что работа заставляет меня время от времени работать c JS - для меня он как любимое хобби. Вот ситуация: на странице jQuery плагином рисуем календарную сетку заполненную данными, которые приходят с контроллера. Все работает. Проблема: поставили сетку в панельку (div), который перезагружается AJAXом с разными данными в зависимсоти от того куда кликнули выше на странице. Но после AJAX рэфреша календарь не отрисовывается. Я еще не смотрел детали, но предполагаю что календарный JS запускается на PageLoad. И если мы хотим, чтобы он запускался каждый раз, когда панелька обновляется, то на какое событие его fire? какие вообще DOM или BOM события происходят при перезагрузке ДИВа AJAXом? Спасибо | 
| 
 От автора: вероятно данная тема больше подходит для соседнего раздела (Events, DOM) - на усмотрение модераторов - можно перенести тему туда. | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 Событие какого типа? В результате чего генеровать? Я так понимаю. Есть JS скриптик, который постоянно следит за содержание какого-то скрытого ДОМ элемента в обновляемом диве. При каждом обновлении контроллер забрасывает в этот скрытий элемент новое значение. Тот самый JS скриптик видит изменение и генерирует перезапуск календарного скрипта. Но совсем не уверен, что мои размышления идут в верном направлении. Вероятно, ларчик проще открывается... | 
| 
 Цитата: 
 В тот момент, когда ты обновляешь через ajax элемент - генерируй событие. Другой участок твоего кода, который установил обработчик на данный тип события, отработает при его возникновении. | 
| 
 В общем чета типа: 
function EventEmmiter() {
   
}
// ... реализуем интерфейс EventEmmiter
/*
 * @inherits EventEmmiter
 *
 */
function Controller() {
    EventEmitter.call(this);
}
Controller.prototype = Object.create(EventEmitter.prototype, {
    constructor: {value: Controller}
});
Controller.prototype.updateDiv = function() {
    utils.request('some/url', this.onDivContentLoaded.bind(this));
};
Controller.prototype.onDivContentLoaded = function(data) {
    document.querySelector('div').innerHTML = data;
    this.dispatchEvent('divupdated', {data: data});
};
var controller = new Controller();
controller.addEventListener('divupdated', function() {
    alert('Div was updated');
});
controller.updateDiv();
 | 
| 
 Спасибо  danik.js . Пожалуй, код выше - это будет сложновато для меня сейчас. Это JS работающей на сервере? Или это все ранится в браузере? А можно поставить вопрос по другому: если сервер вернул AJAXом Див в котором есть JS скрипт: он запустится? или браузер только при первичной загрузки документа считывает весь JS, а после этого DOM может менять, а вновь пришедшие скрипты уже не будут считываться и выполняться? Если бы скрипт пришедший с фрагментом HTML мог быть считан браузером и мог бы сам запуститься - то не было проблем. спасибо за помощь | 
| Часовой пояс GMT +3, время: 01:23. |