From 15b9e9d176a7796f1582ba5c0a7d06e4ad7cc8e9 Mon Sep 17 00:00:00 2001 From: Mark Johnson Date: Tue, 19 Apr 2011 14:39:58 -0700 Subject: [PATCH] Draggable: Modified the iframe shims to load prior to dragging. Fixed #7270. (cherry picked from commit b1c8a13a1669dca4c4bde97fe2cc8b76f661b432) --- ui/jquery.ui.draggable.js | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index 8958e49cf..cf08e4798 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -79,6 +79,16 @@ $.widget("ui.draggable", $.ui.mouse, { this.handle = this._getHandle(event); if (!this.handle) return false; + + $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { + $('
') + .css({ + width: this.offsetWidth+"px", height: this.offsetHeight+"px", + position: "absolute", opacity: "0.001", zIndex: 1000 + }) + .css($(this).offset()) + .appendTo("body"); + }); return true; @@ -212,6 +222,16 @@ $.widget("ui.draggable", $.ui.mouse, { return false; }, + _mouseUp: function(event) { + if (this.options.iframeFix === true) { + $("div.ui-draggable-iframeFix").each(function() { + this.parentNode.removeChild(this); + }); //Remove frame helpers + } + + return $.ui.mouse.prototype._mouseUp.call(this, event); + }, + cancel: function() { if(this.helper.is(".ui-draggable-dragging")) { @@ -630,24 +650,6 @@ $.ui.plugin.add("draggable", "cursor", { } }); -$.ui.plugin.add("draggable", "iframeFix", { - start: function(event, ui) { - var o = $(this).data('draggable').options; - $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { - $('
') - .css({ - width: this.offsetWidth+"px", height: this.offsetHeight+"px", - position: "absolute", opacity: "0.001", zIndex: 1000 - }) - .css($(this).offset()) - .appendTo("body"); - }); - }, - stop: function(event, ui) { - $("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this); }); //Remove frame helpers - } -}); - $.ui.plugin.add("draggable", "opacity", { start: function(event, ui) { var t = $(ui.helper), o = $(this).data('draggable').options; -- 2.39.5