3

さて、問題は、ドラッグ可能なダイアログに複数のハンドラーを追加する方法です。

_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-dialog-contentとads.ui-dialog-titlebarをキャンセルします:

this.uiDialog.draggable( {
    cancel : '.ui-dialog-content',
    handle : '.ui-dialog-titlebar',
    containment : 'document',

ただし、可能かどうか疑問に思って、ハンドラーとして.menu_innerを追加したいと思います。

4

1 に答える 1

1

handleパラメータとしてjqueryセレクタを受け入れます。したがって、複数セレクターを使用してみてください:http: //api.jquery.com/multiple-selector/

すなわち:handle: '.ui-dialog-titlebar, .menu_inner'

編集:ハッキーな解決策は、次のようなことを言って$('.ui-dialog-titlebar, .menu_inner').addClass('draggable-element')から、そのクラスにハンドルを設定することです

于 2012-07-11T20:17:18.073 に答える