代码之家  ›  专栏  ›  技术社区  ›  paul

jquery:IE6中的窗口控件有问题

  •  2
  • paul  · 技术社区  · 17 年前

    我有一个包含选择框的网页。当我打开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 回复  |  直到 17 年前
        1
  •  2
  •   Neall    17 年前

    这与jquery尤其无关。这是IE 6中的一个已知错误-Windows本机选择框总是出现在其他元素的顶部。唯一能做的就是当选择框被覆盖时隐藏它们——通常用看起来像选择框的东西替换它们。

        2
  •  2
  •   paul    17 年前

    我最终找到了一个插件- bgiframe 奇怪的是它可以作为插件使用。为什么它不集成在主用户界面中?!

    尝试过了,但不幸的是,它搞砸了我的对话!对话框内容全部左移30-40像素:-(。下一个问题…