Side navigation
#2704 closed bug (fixed)
Opened April 17, 2008 01:16PM UTC
Closed May 03, 2008 07:13AM UTC
ui.droppable.js and removing droppables
Reported by: | colin.johnson | Owned by: | braeker |
---|---|---|---|
Priority: | major | Milestone: | 1.2.4 |
Component: | ui | Version: | 1.2.3 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I have come across an error when trying to remove a droppable when I have finished with it. I am allowing an <li> element to be dragged onto another <li> element that is a droppable.
If I setup something like this:
$(this).droppable({ drop: function(ev, ui) { // move the dragging element before the droppable $(ui.draggable).insertBefore($(this)); $(REFERENCE_TO_A_DROPPABLE_LI_ELEMENT).remove(); } });
I get the following error:
this.items has no properties
This is raised on line 236:
if (!this.item.options.disabled && $.ui.intersect(draggable, this, this.item.options.tolerance))
and line 239:
if (!this.item.options.disabled && this.item.options.accept.call(this.item.element,(draggable.currentItem || draggable.element))) {
If I check that this.items exists then the error can be prevented
if (this.item && !this.item.options.disabled && $.ui.intersect(draggable, this, this.item.options.tolerance))
However, I have not got any knowledge of the impact of this change, and tried to actually resolve it without this change with no success. I think some of the issue is around now having a bind on the remove event (line 54) which means the removed elements are correctly taken out of the $.ui.ddmanager.droppables array but perhaps they are still referenced in the array loop starting on line 234?
I have attached an example of the failure, if you try and drag "Node 2" into the very top land area, it will raise the error.
Attachments (1)
Change History (5)
Changed April 17, 2008 01:19PM UTC by comment:1
Changed April 17, 2008 01:27PM UTC by comment:2
Replying to [comment:1 colin.johnson]:
Sorry, this should not be listed as a 'Major' priority...can't see how to change that now
Sorry, accidentally submitted this before changing the component to 'ui' as well.
Changed April 18, 2008 03:17AM UTC by comment:3
component: | core → ui |
---|---|
owner: | → paul |
Changed April 23, 2008 09:53AM UTC by comment:4
owner: | paul → braeker |
---|
Changed May 03, 2008 07:13AM UTC by comment:5
resolution: | → fixed |
---|---|
status: | new → closed |
I don't know the cause, but I implemented a simple check wether this.options is available in the drop. This should fix it.
Sorry, this should not be listed as a 'Major' priority...can't see how to change that now