簡體   English   中英

jQuery UI對話框未在IE9中設置“ left”屬性

[英]jQuery UI Dialog doesn't set “left” property in IE9

出於某種原因,當我嘗試在IE9中使用jQuery對話框時,它沒有應用任何left屬性,因此將其保留為0,這使對話框一直保持在最左邊。 它在所有其他瀏覽器(包括IE 7和8)中都可以正常工作。

這是初始化和打開對話框的代碼:

jQuery('#form-holder').dialog({
        autoOpen: false, modal: true, closeOnEscape: true, width: 680, closeText: '', close: closeDialog
    });

jQuery('#form-holder').dialog('open');

我嘗試應用以下代碼來手動設置該屬性,但是它也不起作用:

var ua = jQuery.browser;
if (ua.msie && ua.version.slice(0, 3) == "9.0") {
jQuery('div.ui-dialog').css('left', '294px');
}

打開對話框后的結果HTML:

<div tabIndex="-1" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" role="dialog" aria-labelledby="ui-dialog-title-form-holder" style="left: 0px; top: 384px; width: 680px; height: auto; display: block; position: absolute; z-index: 1002; outline-width: 0px; outline-style: none; outline-color: invert;">

jQuery UI和IE9是否存在任何已知的兼容性問題?

試試看,不需要使用px ,jQuery會解決的;

if (jQuery.browser.msie && jQuery.browser.version == '9.0') {
      $('div.ui-dialog').css('left', '294');
}

打開后設置位置:

$("#form-holder").dialog( "option", "position", [294,384] );

嘗試刪除傳遞給jquery css函數中top參數的值中的引號:

if (ua.msie && ua.version.slice(0, 3) == "9.0") {
jQuery('div.ui-dialog').css('left', 294);
}

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM