如何向jQuery对话框添加多个拖动处理程序
好的,问题是,如何将多个处理程序添加到一个可拖动的对话框中如何向jQuery对话框添加多个拖动处理程序,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,好的,问题是,如何将多个处理程序添加到一个可拖动的对话框中 _makeDraggable : function() { var self = this, options = this.options, heightBeforeDrag; this.uiDialog.draggable( { cancel : '.ui-dialog-content', handle : '.ui-dialog-titlebar', containme
_makeDraggable : function() {
var self = this, options = this.options, heightBeforeDrag;
this.uiDialog.draggable( {
cancel : '.ui-dialog-content',
handle : '.ui-dialog-titlebar',
containment : 'document',
start : function() {
heightBeforeDrag = options.height;
$(this).height($(this).height()).addClass("ui-dialog-dragging");
(options.dragStart && options.dragStart.apply(self.element[0], arguments));
},
drag : function() {
(options.drag && options.drag.apply(self.element[0], arguments));
},
stop : function() {
$(this).removeClass("ui-dialog-dragging").height(heightBeforeDrag);
(options.dragStop && options.dragStop.apply(self.element[0], arguments));
}
});
}
所以我有这个函数,正如您所看到的,它取消了.ui对话框内容和作为处理程序的ads.ui对话框标题栏:
this.uiDialog.draggable( {
cancel : '.ui-dialog-content',
handle : '.ui-dialog-titlebar',
containment : 'document',
不过,我想添加.menu\u internal作为处理程序,想知道这是否可能。
handle
接受jquery选择器作为其参数。因此,请尝试使用多重选择器:
i、 e:句柄:'.ui对话框标题栏、.menu\u内部'
编辑:
一个老套的解决方案是说一些类似
$('.ui对话框标题栏,.menu_-inner').addClass('draggable-element')
,然后将句柄设置为该类如果没有空间呢?dcpomero我也尝试过没有空间,这有点棘手,作为一种解决方法,我设法将宽度尽可能地减小,这样就不会禁用单击可拖动元素的功能。另外,我说的是jQuery对话框中的选项卡,它会让鼠标点击感到烦恼。