2011-03-22 2 views
1

jQuery를 사용하여 대화 상자를 여는 중입니다. 다음과 같이 대화를위한 648 "JS 오류 : jquery-1.4.4.js에서 너무 많은 재귀가 발생했습니다.

기능은 다음과 같습니다 : 나는 대화 상자를 닫습니다하려고 할 때, 그것은 js error

"Error: too much recursion Source File: 

http://localhost:8080/testProject/scripts/jquery-1.4.4.js 라인을 던졌습니다

jQuery(function() { 

     jQuery("#purchaseOrderDevice-form").dialog({ 
      bgiframe:true, 
      autoOpen: false, 
      height: 550, 
      width: 870, 
      modal: true, 
      resizable : true, 

      close: function() { 
       jQuery("#purchaseOrderDevice-form").dialog("close"); 
      } 

     }); 

     jQuery("#purchaseOrderDevice").button().click(function() { 
       jQuery("#purchaseOrderDevice-form").dialog("open"); 
     }); 
    }); 
+2

'jQuery (this) .dialog ("close");'를 사용할 수 있습니다. 'jQuery ("# purchaseOrderDevice-form") .dialog ("close");'대신 ' – CoolEsh

+0

답장을 보내 주셔서 감사합니다. 귀하의 제안에 따라 코드를 변경했지만 성공하지 못했습니다. – Saurabh

+0

닫을 때마다 닫으라는 대화 상자를 말하는 무한 루프가 생성됩니다. close 이벤트는 대화 상자가 이미 닫혀 있음을 의미합니다. 버튼에 "닫기"명령을 넣으려고합니다. – Bob

답변

3
jQuery("#purchaseOrderDevice-form").dialog({ 
      bgiframe:true, 
      autoOpen: false, 
      height: 550, 
      width: 870, 
      modal: true, 
      resizable : true, 

      close: function() { 
      }, 
      buttons: { 
       'Close': function() { 
        $(this).dialog("close"); 
       } 
      } 

     }); 

이것이 어떻게 수행되어야하는지 알려주지 마십시오. 닫을 때마다 닫습니다. 그렇지 않으면 루프가 발생합니다. 당신이 close: function() {}를 호출 할 때 다시 닫으려고 할 때 대화 상자가 폐쇄 된 것을, 그래서, 그 오류를

희망을 일으킬 것이기 때문에

0

이이

도움이 코드

jQuery("#purchaseOrderDevice-form").dialog("close"); 

를 제거해야

관련 문제