#2704 closed bug (fixed)
ui.droppable.js and removing droppables
Reported by: | colin.johnson | Owned by: | eduardo |
---|---|---|---|
Priority: | major | Milestone: | 1.5 |
Component: | ui.core | 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 (8)
Changed 15 years ago by
Attachment: | ui.droppable.zip added |
---|
comment:1 follow-up: 2 Changed 15 years ago by
Sorry, this should not be listed as a 'Major' priority...can't see how to change that now
comment:2 Changed 15 years ago by
Replying to 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.
comment:3 Changed 15 years ago by
Component: | core → ui |
---|---|
Owner: | set to paul |
comment:4 Changed 15 years ago by
Owner: | changed from paul to braeker |
---|
comment:5 Changed 15 years ago by
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.
comment:7 Changed 14 years ago by
Milestone: | → 1.5 |
---|
Files for reproducing the error