In the world of software development, desktop applications are still number one. Although web sites and, latterly, web applications are developing rapidly using frameworks such as Ext JS, they are yet to reach the level of complexity that we see in our most extensive desktop programs.
Drag-and-drop, the subject matter of this chapter, is a good example of this. Moving items across the screen using the mouse on a standard computer desktop is all-pervasive; it is available for a great many actions and it is available in virtually every application, even if this is in a limited form.
Part of the reason for this is that implementing drag-and-drop using JavaScript is pretty hard. Coming up with a consistent methodology for turning any element into a draggable widget that can then be placed on another element, and have it work in every browser, and have it support scrolling, and take into account iframes is, to say the least, problematic.
At the start of the Web...