Запустите функцию после другой функции, когда AJAX загружен - PullRequest
0 голосов
/ 13 октября 2011

У меня серьезная проблема, которая мешает мне запускать jQuery внутри окон Prototype, потому что они загружаются с использованием Ajax.

Я думаю, что решение будет состоять в том, чтобы как-то вызвать функцию jQuery сразу после PrototypeUI.Window загрузил содержимое Ajax, есть ли надежда для меня и моего кода?: (

Это функция прототипа:

   function openApps() {
      new UI.Window({theme: "ultra_dark",
              width:  1170, 
                   height: 630,
                   superflousEffects: superflousEffects}).center().show().setAjaxContent('template/win_apps.php', {
        method: "GET", 
        onCreate: function() { 
        this.header.update("Applications");   
          this.setContent('<div class="message">Please wait...</div><div class="spinner"></div>');  
        }
      });  
         }

Теперь я думал о чем-то вроде:

window.lines = function() {
jQuery(".line").peity("line");
};
jQuery.click(lines);

Но я понятия не имею, где правильный путьразместить его, и если он сработает (могу поспорить, что не сработает.)

В основном мне нужно jQuery(".line").peity("line"); для запуска на загруженном Ajax-контенте, если у кого-то есть другие предложения - милости просим.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 октября 2013

У меня нет знаний о Prototype.js, но я знаю, как работает ajax. Так что просто посмотрите, можете ли вы использовать что-то вроде функции успеха ajax здесь, чтобы вы могли сначала визуализировать данные на вашем DOM, используя ответ от ajax, а затем применить к нему jquery. Вы не можете применить код jquery к элементам, которые еще не были присоединены к DOM

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

Не уверен, что это имеет смысл, но вы можете прослушивать событие ajaxStop (Jquery); он срабатывает, когда все запросы Ajax завершены

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