Har*_*rry 3 javascript jquery jquery-ui draggable jquery-ui-dialog
目前,jquery ui对话框只能在标题栏上拖动
使jquery ui对话框的推荐方法是整个对话框而不仅仅是标题栏可以拖动?
我已经做了
elem.dialog({draggable: false}).draggable()
Run Code Online (Sandbox Code Playgroud)
这有什么不对吗?
Jef*_*rto 14
好吧,elem.dialog({draggable: false}).draggable();不行,因为正如其他答案所说,这不是正确的因素.但是,这将有效:
elem.dialog({draggable: false}).parent().draggable();
Run Code Online (Sandbox Code Playgroud)
我认为这比摆弄jquery内部更好.
目前jQueryUI使用此代码阻止内容可拖动:
self.uiDialog.draggable({
cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
handle: ".ui-dialog-titlebar",
...
});
Run Code Online (Sandbox Code Playgroud)
因此,要进行所需的更改,您需要访问该内部uiDialog对象并更改其设置.
如果dlg是对话框内容对象:
$(dlg).data('dialog').uiDialog.draggable('option', {
cancel: '.ui-dialog-titlebar-close',
handle: '.ui-dialog-titlebar, .ui-dialog-content'
})
Run Code Online (Sandbox Code Playgroud)
将工作.
请注意,这与jQueryUI内部结构相当,如果未来的更新改变了这些内部结构,可能会中断.