2011-10-21 2 views
0

Mootools 동작 - https://github.com/anutron/behavior을 사용하고 있습니다. 그것은 잘 작동하지만 아약스로드 된 요소의 동작이 적용되지 않습니다.Mootools : Ajax로드 요소로 동작하는 방법?

여기 내 코드입니다 :

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

그리고 그것은 작동하지 않습니다.

미리

감사 (window.behavior의 주요 동작 예이다).

UPD. 그건 정적 로딩에 대한 내 자신의 문제였습니다. 위의 코드가 작동해야합니다.

답변

1

아마도 Behavior.apply() - 메소드에서 두 번째 선택적 매개 변수를 설정해야합니다.

성공 콜백 기능에서 window.behavior.apply(document.body, true)을 시도하십시오. 이미 처리 된 요소는 두 번째 매개 변수 "force"가 true로 설정된 경우 다시 처리됩니다. 그게 문제가 될 수 있습니다. 그렇지 않다면 다시 확인하고 지금 알려주십시오.

+0

감사합니다. 두 번째 매개 변수가 도움이되지 않습니다. –

+0

아약스를 통해 업데이트되는 페이지에 이미 있던 동작 필터 만 작동하는 것처럼 보입니다. 나머지는 작동하지 않으며 그 이름의 필터가 없다는 오류가 발생합니다. –

+0

미안하지만 그건 내 문제 였어. 질문은 닫힙니다. –

1

전체 문서에 비헤이비어를 다시 적용하는 대신 새 내용에만 다시 적용하십시오. 나는이 패턴을 자주 사용한다.

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