fix loop & cancelDragDefault & hasClass