2012-04-23 8 views
0

IE9でjQueryダイアログを使用しようとすると何らかの理由でleftというプロパティが適用されず、左へ行く道。これは、IE 7と8jQuery UIダイアログでIE9の "left"プロパティが設定されない

を含む他のすべてのブラウザで正常に動作することはここでは、ダイアログを初期化して開くためのコードです:

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

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

私は手動でそのプロパティを設定するために、次のコードを適用しようとしましたが、それはdidnのダイアログを開いた後

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

結果のHTMLを::「Tは、いずれかの動作

<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の互換性の問題はありますか?

+0

'div.ui-dialog'は絶対に配置されていますか? – undefined

+0

ラミンソン、はい、そうです。 – Victor

+0

ダイアログの 'position:[294,384]、'属性を試しましたか? –

答えて

0

これを試してみると、pxを使用する必要はありません.jQueryがそれを処理します。オープン後の位置に設定し

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

はまだ0に設定されています。:( – Victor

0

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

をjqueryのCSS機能でトップのパラメータに渡された値の引用符を削除してください:

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

はそれが役に立てば幸い!

関連する問題