draggable, resizable, sortable: proper usage of _mouseCapture, fixes interaction issues when many plugins are used on the same element (Fixes #3164)

This commit is contained in:
Paul Bakaus 2008-09-16 13:02:21 +00:00
parent cef66ee99f
commit 9d8e83845c
3 changed files with 24 additions and 7 deletions

View File

@ -55,18 +55,27 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
this._mouseInit();
},
_mouseStart: function(e) {
_mouseCapture: function(e) {
var o = this.options;
if (this.helper || o.disabled || $(e.target).is('.ui-resizable-handle'))
return false;
//Quit if we're not on a valid handle
var handle = this.getHandle(e);
if (!handle)
this.handle = this.getHandle(e);
if (!this.handle)
return false;
return true;
},
_mouseStart: function(e) {
var o = this.options;
//Create and append the visible helper
this.helper = this.createHelper();

View File

@ -257,7 +257,9 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
_destroy(wrapped);
}
},
_mouseStart: function(e) {
_mouseCapture: function(e) {
if(this.options.disabled) return false;
var handle = false;
@ -266,6 +268,12 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
}
if (!handle) return false;
return true;
},
_mouseStart: function(e) {
var o = this.options, iniPos = this.element.position(), el = this.element,
num = function(v) { return parseInt(v, 10) || 0; }, ie6 = $.browser.msie && $.browser.version < 7;
o.resizing = true;

View File

@ -361,7 +361,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
},
_mouseCapture: function(e, overrideHandle) {
if(this.options.disabled || this.options.type == 'static') return false;
//We have to refresh the items data once first