[英]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.