1

내가 내 JQuery와 대화 상자의 닫기 버튼 (닫지 않는)를 클릭 할 때이 오류가 계속 :JQuery와 대화 초기화

catch되지 않은 오류 : 대화의 메소드를 호출 할 수 없습니다 초기화와 이전; 다른 질문에서 StackOverflow에 대한 몇 가지 제안 사항을 수정 한 후 Chrome 도구에서 'close'메서드를 호출하려고 시도했습니다.

아무도 내가이 오류의 원인이되는 대화 상자를 올바르게 구조화하지 못한다고 지적 할 수 있습니까? 사실,``:

라이브 바이올린 here

$(document).ready(function fooDialog() { 

    $('#fooChartDialog').dialog({ 
     autoOpen: false, 
     height: 600, 
     width: 1000, 
     resizable: false, 
     buttons: { 
      "Drill Down Report": function() { 
       window.open('example.com'); 
      }, 
      "Close": function() { 
       $(this).dialog("close"); 
      } 
     }, 
     open: function() { 
      $('#fooChartDialog').load($('#fooChartDialog').data('url'), function() { 
       fooChartLoad() 
      }); 
     }, 
     title: 'Customer Satisfaction Chart', 
     modal: true 
    }); 

    $('#fooChartButton').click(function() { 
     $('#fooChartDialog').dialog("open") 
    }); 
}); 
+1

에 의해 $(this)하지에 의해 참조해야 시도 "닫기": function() { $ ('this'). 대화 ("닫기"); }, ' –

+0

감사합니다. 그러나 대화 상자의 닫기 버튼을 클릭 할 때 오류가 발생해도 여전히 쉼표를 제거했습니다. – Alexander

+0

@Alexander도이 문제에 대한 해결책을 찾았습니까? – puddinman13

답변

4

$(this).dialog("close"); 대신 $('this').dialog("close");

현재의 오브젝트는 모달`후 여분의 쉼표가 $('this')

+0

고마워, 나는 그걸 망쳐 놨지 만, 여전히 오류가 난다. – Alexander

+0

@Alexander 바이올린에서 어떤 오류도 볼 수 없습니다. 데이빗의 해결책에 의해 잘 작동합니다. –

+1

동일하지만 필자는 $ (this)에 대한 참조를 변경했지만 내 지역에는 해당되지 않으므로 내 측면에는 더 심각한 문제가 있다고 생각합니다. 둘 다 고마워. – Alexander