diff options
author | Mark Johnson <virgofx@live.com> | 2011-04-19 14:39:58 -0700 |
---|---|---|
committer | Mark Johnson <virgofx@live.com> | 2011-04-19 14:39:58 -0700 |
commit | b1c8a13a1669dca4c4bde97fe2cc8b76f661b432 (patch) | |
tree | 26ba8fa0da993ee503ddfbf861019fd1f1435321 | |
parent | 5076f233dbbfc39f29f2be11a9549f262bb471ea (diff) | |
download | jquery-ui-b1c8a13a1669dca4c4bde97fe2cc8b76f661b432.tar.gz jquery-ui-b1c8a13a1669dca4c4bde97fe2cc8b76f661b432.zip |
Draggable: Modified the iframe shims to load prior to dragging. Fixed #7270.
-rw-r--r-- | ui/jquery.ui.draggable.js | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index ff1ad1363..83fe54fda 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() { + $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>') + .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")) { @@ -616,24 +636,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() { - $('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>') - .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; |