2008-10-06 7 views
2

선택 상자가있는 웹 페이지가 있습니다. jQuery Dialog를 열면 선택 상자 뒤에 부분적으로 표시됩니다.jQuery : IE6의 윈도우 컨트롤 문제

이 문제는 어떻게 해결해야합니까? 선택 상자를 숨기거나 jQuery에서 일종의 '심'솔루션을 제공해야합니까? 이것은 특히 jQuery를 함께 할 아무것도하지 않는

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title>testJQuery</title> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<meta name="GENERATOR" content="Rational Application Developer"> 

     <link rel="stylesheet" href="theme/smooth/theme.css" type="text/css" media="screen" /> 
</head> 
<body> 

    <a class="pop" href="nix">Click me</a> 

    <p/> 

    <select size="20"> 
     <option>s jl fjlkdjfldjf l*s ldkjsdlfkjsdl fkdjlfks dfldkfjdfkjlsdkf jdksdjf sd</option> 
     <option>s jl fjlkdjfldjf l*s ldkjsdlfkjsdl fkdjlfks dfldkfjdfkjlsdkf jdksdjf sd</option> 
     <option>s jl fjlkdjfldjf l*s ldkjsdlfkjsdl fkdjlfks dfldkfjdfkjlsdkf jdksdjf sd</option> 
     <option>s jl fjlkdjfldjf l*s ldkjsdlfkjsdl fkdjlfks dfldkfjdfkjlsdkf jdksdjf sd</option> 
     <option>s jl fjlkdjfldjf l*s ldkjsdlfkjsdl fkdjlfks dfldkfjdfkjlsdkf jdksdjf sd</option> 
    </select> 

    <div id="xyz" class="flora hiddenAsset"> 
     <div id="dialog" title="Edit Link"> 
      <p>Enter the link details:</p> 
      <table width="80%" border="1"> 
       <tr><td>URL</td><td><input id="url" style="width:100%" maxlength="200" value="{url}"/></td></tr> 
       <tr><td>Title</td><td><input id="title" style="width:100%" maxlength="200" value="{title}"/></td></tr> 
       <tr><td>Target</td><td><input id="target" size="20" maxlength="200" value="{target}"/></td></tr> 
      </table> 
     </div> 
    </div> 

<script type="text/javascript" src="../script/firebug/firebug.js"></script> 
<script type="text/javascript" src="jquery-1.2.6.js"></script> 
<script type="text/javascript" src="jquery-ui-1.5.2.js"></script> 
<script type="text/javascript" src="jqSOAPClient.js"></script> 
<script type="text/javascript"> 
(function($){ 
    $(document).ready(function(){ 
     console.debug('ready'); 
     $('.hiddenAsset').hide(); 

     $('a.pop').bind('click', showDialog); 
     console.debug('ready - done'); 
    }); 

    var showDialog = function(){ 
     console.debug('show'); 
     $('#dialog').dialog({ 
      modal: true, 
      overlay: { 
       backgroundColor: '#666', 
       opacity: '.3', 
       filter: 'alpha(opacity=30)' 
      }, 
      width: '400px', 
      height: '300px', 
      buttons: { 
       Ok: function() { 
        $(this).dialog('close'); 
       }, 
       Cancel: function() { 
        $(this).dialog('close'); 
       } 
      } 
     }); 
     console.debug('show-done'); 
     return false; 
    }; 
})(jQuery); 
</script> 
</body> 
</html> 

답변

2

: 여기

몇 가지 코드 (I 봤했지만 아무것도 찾지 못했습니다). 이것은 IE 6의 알려진 버그입니다. Windows 고유의 선택 상자는 항상 다른 요소 위에 나타납니다. 당신이 할 수있는 유일한 일은 선택 상자가 숨겨져있을 때 선택 상자를 숨기는 것입니다 - 일반적으로 선택 상자와 비슷한 것으로 대체하십시오.

+0

예, 저는 이것을 깨닫습니다 .mootools와 ui 프레임 워크를 cnet에서 사용하고있었습니다 .Ui 프레임 워크는 iframe 대화 상자가 열렸을 때 iframe이 선택 상자를 표시하지 않았습니다. – paul

+0

iframe을 사용하여 선택 상자를 숨길 수 있습니까? 가짜 선택 상자로 바꾸는 것보다 쉬울 것입니다. – Neall

2

결국에는 도움이되는 플러그인을 발견했습니다. - bgiframe 이상하게도 플러그인으로 사용할 수 있습니다. 기본 UI에 통합되지 않는 이유는 무엇입니까?

시도해 보았지만 불행히도 대화 상자가 망가졌습니다! 대화 내용은 모두 30-40 픽셀만큼 왼쪽으로 이동합니다 :-(다음 문제 ...