jquery
  • internet-explorer-8
  • 2009-08-09 145 views 0 likes 
    0

    我正在使用jquery對話框來打開窗體中的標誌。它在ff,chrome甚至ie6,7 上工作正常,但它在ie8上不工作。jquery Ui對話框和ie8

    這是我的函數:

    function showSignInDialog() { 
        var email = GetEmailFromCookie(); 
        if (!IsNullOrUndefined(email)) { 
        $("input[name$='LoginEmail']").val(email); 
        $("#chkRememberMe").attr("checked", "checked"); 
        } 
        if (!$('#signInForm').dialog('isOpen')) { 
        $('#signInForm').dialog({ bgiframe: true, 
              modal: true, 
              resizable: false, 
              width: 330, 
              title: 'EZtrader Login', 
              buttons: { "Login": doLogin } 
              }); 
        $('#signInForm').dialog('open'); 
        } 
    } 
    

    在IE8我得到一個反應遲鈍的腳本,這意味着存在某種形式的無限循環。 我試着調試它,當我嘗試打開對話框時,循環出現在jquery-ui js文件中。 我想也許這已經是與 「HTML解析錯誤:無法修改父容器元素的子元素被關閉之前(KB927917)」 我約在這裏讀到:http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx

    ,並試圖移動腳本塊和頁面周圍的對話框,但似乎沒有任何工作。 請幫助...

    +0

    (來自@redsquare的評論):你可以粘貼所有的代碼,特別是在按鈕選項中指定的doLogin函數。你也可以解釋問題出在哪裏。點擊對話框內的按鈕後,還是對話框沒有顯示? – 2009-08-09 11:28:12

    +0

    其實這是一個答案不是評論....! – redsquare 2009-08-09 11:30:01

    +0

    對話框在創建時打開,除非使用autoOpen選項另行指定。我想知道IE瀏覽器是否因爲你打開它兩次,一次聲明它,然後用對話框('打開'); – jfsk3 2009-08-09 12:44:18

    回答

    1

    這似乎是它: http://dev.jqueryui.com/ticket/4758

    IE8的不正確處理window.resize功能。您需要根據我所知道的來調整jquery-ui的本地版本。

    0

    遇到完全相同的一組問題。要擺脫第一個問題,「無法修改...」錯誤,請將您的腳本標記設置爲deferred = deferred。

    第二個問題與我能找到的ie8的JavaScript解析器有關。似乎沒有答案,雖然我沒有想過iframe,如果這可以解決問題,獎金!

    0

    必須僅在document.ready上使用自動完成功能。 請將自動完成的初始化代碼移動到$(document).ready(function(){ [place here] })塊中,並且全部都可以正常工作。

    相關問題