Prev: stop form submit
Next: Math ugliness.
From: Richard Cornford on 16 Feb 2010 12:34 On Feb 16, 1:20 am, Peter Michaux wrote: <snip> > I'm curious which of the above methods people here have used > and if there are any other techniques worth considering. I once proposed here (and not entirely seriously) a set up where the thing that was dragged got represented by 4 clipped copies of itself, tiled together to re-create the impression of most of the original object, but with a hole in the middle over which the mouse pointer sat and through which it could generate mouseover/out events in the underlying DOM. Something like (best viewed with a fixed-width font):- +----------------------+ | | | | +----------------------+ +-------+ +--------+ | | | | | | | | | | | | +-------+ +--------+ +----------------------+ | | | | +----------------------+ Thus you have the impression that the thing being dragged is under the mouse without its actually blocking the mouse. I never tried it, and some obvious potential issues should already be occurring to anyone reading this. Richard.
From: Peter Michaux on 16 Feb 2010 13:50 On Feb 16, 9:34 am, Richard Cornford <Rich...(a)litotes.demon.co.uk> wrote: > On Feb 16, 1:20 am, Peter Michaux wrote: > <snip> > > > I'm curious which of the above methods people here have used > > and if there are any other techniques worth considering. > > I once proposed here (and not entirely seriously) a set up where the > thing that was dragged got represented by 4 clipped copies of itself, > tiled together to re-create the impression of most of the original > object, but with a hole in the middle over which the mouse pointer sat > and through which it could generate mouseover/out events in the > underlying DOM. Something like (best viewed with a fixed-width font):- > > +----------------------+ > | | > | | > +----------------------+ > +-------+ +--------+ > | | | | > | | | | > | | | | > +-------+ +--------+ > +----------------------+ > | | > | | > +----------------------+ > > Thus you have the impression that the thing being dragged is under the > mouse without its actually blocking the mouse. > > I never tried it, and some obvious potential issues should already be > occurring to anyone reading this. I had the same idea and did try it. I wrote about the idea with an example page: http://peter.michaux.ca/articles/new-dragdrop-recipe-donut-dragdrop The hole size is important. If it is too small then the hole cannot keep up and the mouse ends up over one of the proxy pieces which causes problems. It works well but for some reason I find the four-piece proxy image very unappealing implementationally. Lining up the bits in the four pieces can be difficult depending on the contents. That said, I have used this technique in production once and it has happily been in production for close to four years without any problems. This technique is essentially the option 1 that I listed in my original post of this thread. It has the same problems: If the real targets do not 100% cover the user-perceived drop zones then it is difficult to know what a drop should do. Thanks, Peter
From: Thomas 'PointedEars' Lahn on 16 Feb 2010 14:49 Peter Michaux wrote: > [...] > I've only investigated native drag and drop APIs a little and they > didn't seem very useful in terms of making an appealing user > experience. > > I'm curious which of the above methods people here have used and if > there are any other techniques worth considering. Sounds like going at lengths to invent a polygonous wheel without properly testing the other inventor's round one before, which strikes me as being a particularly stupid idea. PointedEars -- var bugRiddenCrashPronePieceOfJunk = ( navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1 ) // Plone, register_function.js:16
From: Peter Michaux on 16 Feb 2010 14:56 On Feb 16, 11:49 am, Thomas 'PointedEars' Lahn <PointedE...(a)web.de> wrote: > Peter Michaux wrote: > > [...] > > I've only investigated native drag and drop APIs a little and they > > didn't seem very useful in terms of making an appealing user > > experience. > > > I'm curious which of the above methods people here have used and if > > there are any other techniques worth considering. > > Sounds like going at lengths to invent a polygonous wheel without properly > testing the other inventor's round one before, which strikes me as being a > particularly stupid idea. Can you confirm that native drag and drop is, in fact, a round wheel and can provide cross-browser functionality? Peter
From: Thomas 'PointedEars' Lahn on 16 Feb 2010 15:06
Peter Michaux wrote: > Thomas 'PointedEars' Lahn wrote: >> Peter Michaux wrote: >> > [...] >> > I've only investigated native drag and drop APIs a little and they >> > didn't seem very useful in terms of making an appealing user >> > experience. >> >> > I'm curious which of the above methods people here have used and if >> > there are any other techniques worth considering. >> >> Sounds like going at lengths to invent a polygonous wheel without >> properly testing the other inventor's round one before, which strikes me >> as being a particularly stupid idea. > > Can you confirm that native drag and drop is, in fact, a round wheel > and can provide cross-browser functionality? Perhaps, but that task would be up to you. PointedEars -- Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network. -- Tim Berners-Lee |