2012-07-15 2 views
0

다른 dijit.Dialog에서 dijit.Dialog를 여는 데 문제가 있습니다. Dojo 버전 1.5에서 잘 작동한다고 제안하는 다른 게시물을 보았습니다. 그러나 Dojo 1.6.1을 사용하고 있으며 운이별로 없습니다. http://dojotoolkit.org/documentation/tutorials/1.7/dialogs_tooltips/의 Dojo 문서는 "이것이 dijit/Dialog에 대해 알아야 할 중요한 사실 중 하나는 인스턴스가"스택 "에 추가되어 인스턴스를 서로 위에 놓을 수 있다는 것입니다."다른 대화 상자에서 Dojo 대화 상자를 여는 방법

두 번째 대화 상자에서 현재 표시된 대화 상자에서 show()를 호출하면 잠시 두 번째 대화 상자가 거의 표시되지 않고 브라우저가 새로 고쳐지고 첫 번째 대화 상자가 그대로 남습니다. 나는 간단하게 뭔가를 누락 느낌이

<html> 
<head> 
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dijit/themes/claro/claro.css" /> 
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js" djConfig="parseOnLoad: true"></script> 
    <script type="text/javascript"> 
     dojo.require("dijit.dijit"); 
     dojo.require("dijit.Dialog"); 
     dojo.ready(function() { 
      dijit.byId("dialog1").show(); 
     }); 
    </script> 
</head> 
<body class="claro"> 

    <div data-dojo-type="dijit.Dialog" id="dialog1" data-dojo-props="title:'Dialog 1'"> 
     I'm dialog 1 
     <a href="" onclick="dijit.byId('dialog2').show();">Open dialog 2</a> 
    </div> 

    <div data-dojo-type="dijit.Dialog" id="dialog2" data-dojo-props="title:'Dialog 2'" style="visibility:hidden;"> 
     I'm dialog 2 
    </div> 

</body> 
</html> 

:

다음은 간단한 예입니다. 아무도 나를 도울 수 있습니까? 이상적으로 dialog1은 배경에 머물러 있고 dialog2는 모달 대화 상자로 나타납니다.

+1

앵커 태그가 있는데 onclick이 반환되므로 document.location.href = ""이 (가) 실행됩니다. 'Open dialog 2' – mschr

+0

@mschr로 고쳐 주셔서 감사합니다. 그것은 완벽하게 작동했습니다. 왜 그러한 수정이 필요한지에 대한 설명이 있습니까? 또한 이것을 주석에 넣지 만, 답에 넣으면 답으로 표시하여 신용을 얻습니다. –

답변

1

앵커 태그가 있습니다. document.location.href = ""은 onclick이 true을 반환하기 때문에 발생합니다.

다음을 참조하십시오 Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"?

을 정정 온 클릭은이 true, 다음 <a>의 예상 행동을 예상 할 수있다합니다 (.show()는 않습니다) 개봉을 클릭 반환하는 경우

<a href="javascript:void(0); " 
     onclick="dijit.byId('dialog2').show(); return false "> 
             <!-- note 'false' --> 
Open dialog 2</a> 

에 링크를 클릭하면 다른 페이지로 이동합니다. href이 비어 있으면 동일한 페이지가 다시로드됩니다.

+0

해명 해 주셔서 감사합니다. @mschr 및 지원 참조! –

관련 문제