Skip to content
Permalink
Browse files
Draggable: Don't run stop methods for elements that have been removed…
…. Fixed #8269 - Removing draggable element on drop : a(this).data("draggable") is undefined.

(cherry picked from commit 27d1023)

Conflicts:

	ui/jquery.ui.draggable.js
  • Loading branch information
scottgonzalez committed Apr 30, 2012
1 parent 1ffafe6 commit f0c3cf6f1a623e7e6aa19c182b2b61c783a3bfc3
Showing with 8 additions and 2 deletions.
  1. +8 −2 ui/jquery.ui.draggable.js
@@ -208,8 +208,14 @@ $.widget("ui.draggable", $.ui.mouse, {
this.dropped = false;
}

//if the original element is removed, don't bother to continue if helper is set to "original"
if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
//if the original element is no longer in the DOM don't bother to continue (see #8269)
var element = this.element[0], elementInDom = false;
while ( element && (element = element.parentNode) ) {
if (element == document ) {
elementInDom = true;
}
}
if ( !elementInDom && this.options.helper === "original" )
return false;

if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {

0 comments on commit f0c3cf6

Please sign in to comment.