2017-09-13 1 views
0

로드 이벤트는 다른 js 파일에 있습니다.로드 이벤트는 .on ('load')을 사용하여 페이지 매김을 클릭하면 새 HTML로로드됩니다. 그러나 일단 HTML이로드되면 다른 스크립트에서 일어날 일이 필요합니다. 지금까지 이걸 시도했지만 행운은 없습니다. js-ajax-content-container는 새로운 HTML로로드되는 요소입니다. js-ajax-link는로드 이벤트를 시작하기 위해 클릭하는 페이지 매김 링크입니다.요소가 완료되면 새로운 HTML 로딩을 감지합니다.

$('body').on('click', '.js-ajax-link', function() { 
    $('body').on('.js-ajax-content-container', 'ajaxComplete', function() { 
    alert("loaded"); 
    }); 
}); 
+0

, 당신은 실제로 첫번째 Ajax 요청 – adeneo

답변

2

하나의 스크립트에서 맞춤 이벤트를 실행하고 다른 이벤트를들을 수 있습니다.

그런데 인수가 on()의 순서가 잘못되었습니다.
먼저 이벤트 이름을 전달한 다음 선택자를 전달합니다.

$('body').on('click', '.js-ajax-link', function() { 
    $('body').on('ajaxComplete','.js-ajax-content-container', function() { 
    $(document).trigger('ajaxLinkLoaded'); 
    }); 
}); 

그리고 다른 스크립트에서이 이벤트를 수신 할 수 있습니다 가장 가능성이

$(document).on('ajaxLinkLoaded', function(e){ // do something}); 
+0

의 성공 콜백에서 뭔가를 실행해야 할이에 대한 이벤트 없다 고맙습니다!!! 그것은 엄청난 도움이됩니다. 나는 당신이 문서를 트리거 할 수 있다는 것을 몰랐다. 나는 이것을 미래에 자주 사용할 것이라고 상상한다. 또한, 주문에 관한 죄송합니다 ... 나는 그저 피곤한 하하를 알았습니다. –

관련 문제