In our dragEnd handler, we have a simple check of if(!dropItem) return false for when an item is dragged into an empty area and nothing should happen. In the linked example, the ‘Frappucino’ will always return false.
Sometimes dragging this to where it returns false, the drag-drop behavior breaks completely and drag will start selecting text. I suspect this is a race condition because it sometimes resets correctly. To duplicate this in the example, repeatedly drag the ‘Frappucino’ element outside the list box it’s in and drop it over empty space. Repeating this a few times will eventually break the reset on the drag listener. Dropping an item from the example’s other box will reset the listeners if this happens.