Jquery UI对话框 - 打开时IE7浏览器立即移动到页面底部

JGi*_*tin 4 jquery jquery-ui

我一直在研究一个新的.net MVC网站,并集成了一些非常棒的jquery UI组件.

我一直在IE8,FF,歌剧和Chrome中测试它,一切看起来都很好.一旦我在IE7中测试,令人惊讶的是它的对话框导致了问题.

基本上发生的事情是,用户点击打开对话框,页面将立即滚动到页面底部.如果页面很长,这尤其糟糕.

这只发生在IE7(可能是6但我甚至不去那里!).

我花了几个小时阅读论坛,似乎我不是唯一一个.

我创建了一个肮脏的黑客,我不热衷但它确实有效.

onclick="SignIn();  <% if(ModelHelperClass.CheckForOldIEVersion() == true) Response.Write("window.scrollTo(0, 0);"); %> return false;">
Run Code Online (Sandbox Code Playgroud)

有没有其他人有这个问题并解决它而不诉诸肮脏的黑客?

即时通讯使用jquery-ui-1.8.custom.min.js和jquery-1.4.2.min.js

任何帮助都非常感谢

Truegilly

更新---

你好,谢谢你的回应 -

在我的页面顶部,我有这个声明......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Run Code Online (Sandbox Code Playgroud)

我包括这些文件....

<link href="/Scripts/css/blitzer/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js" ></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.1.custom.min.js" ></script>
Run Code Online (Sandbox Code Playgroud)

这是我的登录功能 - 其他对话框非常相似

// Sign in to the site
function SignIn() 
{
    $("#SignIn").dialog({
        bgiframe: true,
        modal: true,
        resizable: false,
        buttons: {

            'Sign In': function () {

                // the username and password
                var Username = $("#Username").val();
                var Password = $("#Password").val();

                var dataString = 'Username=' + Username + '&Password=' + Password;

                // AJAX here....

                // when the user clicks sign in, the form is submitted                
                //$("#SignInForm").submit();
            },
            Cancel: function () {
                $(this).dialog('close');
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

正如我所说,它在除IE7之外的所有浏览器中都能正常工作

Voo*_*doo 6

我有与IE7相同的问题,并使用最新版本的jquery,并没有任何流浪逗号.

修复结果很简单 - 对CSS的一个简单补充..ui-dialog{ position: absolute; overflow:hidden }在IE7中添加修复它.