使用jQuery UI對話框。jQuery UI對話框/拖動問題
很好用,但是當前,當我拖動一個對話框時,它不會移出屏幕(整個對話框總是在視口中)。
有沒有辦法設置對話框,以便我可以將它部分拖出屏幕?
使用jQuery UI對話框。jQuery UI對話框/拖動問題
很好用,但是當前,當我拖動一個對話框時,它不會移出屏幕(整個對話框總是在視口中)。
有沒有辦法設置對話框,以便我可以將它部分拖出屏幕?
當然,你可以,如果你擴展了jQuery的對話框代碼就包括此代碼:
$.ui.dialog.prototype._makeDraggable = function() {
this.uiDialog.draggable({
containment: false
});
};
這將重寫「文檔的默認遏制值'與false
禁用遏制。
謝謝 - 我會修補這個,看看我能想出什麼。 – OneNerd
我正在嘗試實施此修復程序,但目前還沒有運氣。我將它加載到docready外部的script.js文件中。 (在docready中也沒有工作)。 這看起來像一個全球變化。我是否需要以某種方式將其與每個對話框相關聯? – CoryDorning
無視...正常工作。 – CoryDorning
玩選項,位置。編寫您自己的JavaScript調用來移動框。
$('#dialog').dialog('option','position',[500, 100]);
,但你不能移動的方塊縮小視圖端口的,如果你想擁有這樣的特徵,寫自己,延長了jQuery UI的對話框,(更新代碼塊,它檢查的有效位置(有效的,如果位置x,y是在視口中)
我有這個相同的問題,並打算使用betamax's solution,但注意到它有效地取代了一些jQuery UI的內置功能。所以不是我適應的辦法,以保持內置功能,而且還通過覆蓋_makeDraggable
而不是把遏制關閉只是徹底取代它:
if (!$.ui.dialog.prototype._makeDraggableBase) {
$.ui.dialog.prototype._makeDraggableBase = $.ui.dialog.prototype._makeDraggable;
$.ui.dialog.prototype._makeDraggable = function() {
this._makeDraggableBase();
this.uiDialog.draggable("option", "containment", false);
};
}
或者你可以在一個更簡單,更「jQuery的方式」做到了; )
$(document).ready(function(){ $('#dialog'). dialog({ //your dialog options go here }). dialog("widget").draggable("option","containment","none"); //this chained sequence kills containment });
你是男人! 我需要將一個對話框限制爲一個特定的div(將「none」改爲「#mydiv」)。這是解決方案。 –
感謝... +1爲「更多jQuery方式」。 – Aries
爲什麼你想部分移動屏幕? –
@ViswanathanIyer:有時你需要稍稍移動它才能看到它下面的東西。我相信還有其他原因,但問題是**如何?**,而不是爲什麼。 –
@ViswanathanIyer:他們掩蓋了主要區域,但包含了對該區域進行更改的工具,因此用戶可以調出對話框,進行一些調整,然後將其拖出來以查看更改。現在,他們需要關閉它,然後重新打開它。 – OneNerd