Mootools: Как заставить Behavior работать с элементами, загруженными ajax? - PullRequest
0 голосов
/ 21 октября 2011

Я использую Mootools Behavior - https://github.com/anutron/behavior. Работает нормально, но поведение элементов, загруженных ajax, не применяется.

Вот мой код:

var request = new Request.HTML({
    url: get_url(),
    append: $(api.get('append')),
    evalScripts: true,
    onSuccess: function(){
        window.behavior.apply(document.body);
    }
});

И это не работает.

(window.behavior является основным экземпляром Behavior)

Спасибо заранее.

UPD. Это была моя собственная проблема со статической загрузкой. Код выше должен работать.

Ответы [ 2 ]

1 голос
/ 04 октября 2013

Вместо повторного применения поведения ко всему документу, повторно примените его только к новому контенту. Я часто использую этот шаблон с успехом.

var target = $(api.get('append')); 
var request = new Request.HTML({
    url: get_url(),
    append: target,
    evalScripts: true,
    onSuccess: function() {window.behavior.apply(target);}
});
1 голос
/ 21 октября 2011

Возможно, вам следует попробовать установить второй, необязательный параметр в методе Behavior.apply () -.

Попробуйте window.behavior.apply(document.body, true) в функции обратного вызова.Элементы, которые уже были обработаны, будут обработаны снова, если для второго параметра force задано значение true.В этом может быть ваша проблема, если нет, то вернитесь и дайте нам сейчас, пожалуйста.

...