]> source.dussan.org Git - jquery-ui.git/commitdiff
Draggable: Modified the iframe shims to load prior to dragging. Fixed #7270. 187/head
authorMark Johnson <virgofx@live.com>
Tue, 19 Apr 2011 21:39:58 +0000 (14:39 -0700)
committerMark Johnson <virgofx@live.com>
Tue, 19 Apr 2011 21:39:58 +0000 (14:39 -0700)
ui/jquery.ui.draggable.js

index ff1ad13639fb7703426bbe6d6607504fc5fdcf01..83fe54fda593facc122a4f8bd0a7c4bd1604fc3b 100644 (file)
@@ -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;