我正在尝试禁用JS自动定位JQuery UI对话框()窗口小部件,以便我可以使用CSS定位(对定位元素的响应速度更快)。
我知道我可以像这样进行位置重置:
top: auto !important; /* for normal browsers */
left: auto !important;
top: initial !important; /* for chrome */
left: initial !important;
......但它很丑陋,而且看起来有点矫枉过正。 JQuery UI的API给了我零。
是否可以阻止JQuery UI将top
和left
css属性分配给UI Dialog小部件?
答案 0 :(得分:1)
“位置”选项对我来说似乎相当全面,而且我不知道用纯粹的非hacky,非重要的CSS定位对话框的文档化方法。
话虽如此,这里有一个hacky,无证件,未来的失败方式来完成你的要求。它涉及覆盖内部_position
方法。
JSFiddle:http://jsfiddle.net/antishok/2puF8/1/
HTML:<div id="d">hey hey</div>
CSS:
.dialog {
position: absolute;
left:20px;
top:20px;
}
JS:
var d = $('#d');
d.dialog({
autoOpen: false,
dialogClass: 'dialog'
});
d.data('uiDialog')._position = $.noop;
d.dialog('open');
// if you want it for all dialogs:
// $.ui.dialog.prototype._position = $.noop;