2012-08-25 4 views
0

의 .load()를 처리했습니다. 일부 jQuery 효과 (등)가 제대로 작동합니다.div에 jquery 효과를 사용하여

setTimeout에 div가 있고 효과가 더 이상 작동하지 않으면 I .load()이됩니다.

왜냐하면 .load() 전까지 div가 존재하지 않았기 때문입니다.

효과와 .load()는 모두 동일한 JS 파일에있는 모든이 (가)에서 .load() '에드 후에 내가 그 div의에 그 효과를 호출 할 수있는 방법

jQuery(document).ready(function($) { /*They are here*/ });에 싸여있다? 당신은 부하 호출 이벤트/기능을 설정해야

$(function)() { 

    $('.class').slideUp(300); 
    $('.wrapper').load('someurl.html'); // this loads some elements with .class 
    // these elements won't get slideUp applied because they are not in the DOM at the time of the slideUp call 


)}; 

: 당신이 .slideUp() 메소드 등을 설정하는 코드를 게시하지 않았기 때문에

+0

동적 인 것들을 위해서'.live()'가 필요할 수도 있습니다 http://api.jquery.com/live/ –

+2

@tq -'.live ()'은 더 이상 사용되지 않으며 더 이상 권장되지 않습니다. '.on()'또는'.delegate()'는 대체물입니다. OP가 요구하는 실제 코드를 보지 않고서는 이것이 문제인지 여부를 알 수 없습니다. – jfriend00

답변

1

난 당신이 이런 일이 있으리라 믿고있어 back :

$('#result').load('ajax/test.html', function() { 
    //apply events to new elements 
    $('.class').slideUp(300); // this would be inside a click event I'm assuming 
}); 

또는 의견에 언급 된대로 ... 위임을 처리 할 수있는 .on을 사용할 수 있어야합니다. 제 요점은 이벤트가 적용되지 않는 이유를 이해하도록 도울 것입니다

+0

글쎄,이 답변은 지금 나를 위해 작동합니다 - 그래서 허용 할 때 그것을 받아 들일 것입니다 - 고마워요! – Xhynk

+0

- 그러나, 나는'.on' – Xhynk

관련 문제