2012-02-17 1 views
0

글쎄, 뭔가를 찾으려고 노력한 후, 나는 여기에서 아마도 다시 물어야한다. (나는 비슷한 질문을 발견했지만 그들 중 아무도 나를 도왔다.)AJAX에서 jQuery 상황에 맞는 메뉴로드 된 내용

AJAX를 통해 동적으로로드되는 페이지에서 사용자 정의 컨텍스트 메뉴를 사용하려고합니다. 모든 것이 jQuery입니다. 문제는 컨텍스트 메뉴가 동적으로로드 된 페이지에서 작동하지 않는다는 것입니다 ... 마우스 오른쪽 단추로 클릭 한 후에 메뉴가 표시되지 않습니다.

나는 이미 .live()를 사용하는 것이 해결책이지만 여전히 작동하지 않는다는 것을 발견했다.

<script type="text/javascript"> 
    $(document).live("load", function() { 
     $('#testtt').contextMenu('testtt', { 
      bindings: { 
       'open': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Open'); 
       }, 
       'email': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Email'); 
       }, 
       'save': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Save'); 
       }, 
       'delete': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Delete'); 
       } 
      } 
     }) 
    }); 

</script> 
<div id="testtt">test</div> 

이이 동적으로로드 된 페이지에있는 중요한 경로는 다음과 같습니다 여기 (단지 샘플 코드를 사용하여)이 ContextMenu plugin 내 마지막 시도입니다.

jQuery UI Sortable도 사용하고 있습니다 만 문제가되지 않아야합니다.

모든 유용한 솔루션에 감사드립니다.

+0

무엇을하려고합니까? 'live'는'live'를 호출 한 후에 생성 될 수있는 요소를위한 것입니다.'document'는 항상 한 번 존재하기 때문에 여기서는별로 유용하지 않습니다. 사실, 셀렉터없이 '라이브'는 실제로 아무 것도하지 않습니다. – pimvdb

+0

글쎄, jQuery를 몇 주 동안 만 배웠기 때문에 jQuery에서 여전히 멍청하다. 필자가 작성한대로 이것은 마지막으로 시도한 것입니다. AJAX가로드 된 페이지에서 컨텍스트 메뉴 작업을 수행하려고합니다. 지금까지 성공하지 못했습니다. – James

답변

1

$ ('# testtt'). contextMenu ... 아래와 같이 Ajax success() 메소드를 호출하십시오. 이렇게하면 데이터가로드되어 화면에 표시된 후에 컨텍스트 메뉴가 연결됩니다. Ajax 성공()에서 마지막 일 것입니다. 또는 Ajax complete()로 들어갈 수 있습니다.

$.ajax({ 
    type: 'GET', 
    url: 'PATH TO URL', 
    success: function(){ 
     $('#testtt').contextMenu('testtt', { 
      bindings: { 
       'open': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Open'); 
       }, 
       'email': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Email'); 
       }, 
       'save': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Save'); 
       }, 
       'delete': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Delete'); 
       } 
      } 
     }); 
    } 
}); 
+0

아니, 도움이되지 않았다. 동작은 여전히 ​​동일합니다 : ( – James

+0

글쎄, 마지막으로 진행 ... 내가 전에 시도한 주 메뉴 문제 중 하나를 사용하여 해결 된 #testtt로드하지 ...하지만 메뉴와 div. 아직도,이 너무 도움이되었다, 당신의 대답없이 이것을 알아낼 wouldnt. 감사합니다. – James