On 2/12/08, Richard Quadling <[EMAIL PROTECTED]> wrote:
>
> On 12/02/2008, artemy tregoubenko <[EMAIL PROTECTED]> wrote:
> >
> > You'll be surprised that click _can_ be toggled via keyboard (FF, Opera
> > for sure). You may easily test this.
> >
> > And my first example shows how isLeftClick is broken in IE6. I can't
> > forget about IE6.
> >
>
> Ah. Yes. on clickable objects (anchors and buttons), sorry. Forgot about 
> those.
>
> But what are you trying to do by watching which mouse button?

Well, I want simple things:
- support both mouse and keyboard interaction
- same handler for both events
- ignore right and middle clicks

Now it seems that click event suits well here, but I remember having
troubles when it was toggled by right button in some browser, FF
probably. Yeah, I checked out, FF does trigger click event for right
button too.

> > >
> > > On 12/02/2008, artemy tregoubenko <[EMAIL PROTECTED]> wrote:
> > >>
> > >> I don't want to break keyboard navigation only because of IE problem.
> > >>
> > >
> > > mousedown and click are both non-keyboard events.
> > >
> > > but click is only for left button.
> > >
> > > This is true for IE (7 on WinXPSP2) and FF (2.0.0.1 on WinXPSP2).
> > >
> > > Here is a script to show you...
> > >
> > > <html>
> > > <head>
> > > <script type="text/javascript"
> > > src="http://prototypejs.org/assets/2008/1/25/prototype-1.6.0.2.js";></script>
> > > <script type="text/javascript">
> > > function clicking(e)
> > >   {
> > >   $('clicker').update($('clicker').innerHTML + '<br />' +
> > >     'You clicked with your ' +
> > >     (Event.isLeftClick(e) ? 'Left' : '') +
> > >     (Event.isRightClick(e) ? 'Right' : '') +
> > >     (Event.isMiddleClick(e) ? 'Middle' : '') +
> > >     ' button. Event.button = ' + e.button +
> > >     ' and Event.which = ' + e.which
> > >     );
> > >   }
> > > </script>
> > > <title>Testing clicking</title>
> > > </head>
> > > <body>
> > > <span id="clicker">Left, Right or Middle click me!</span>
> > > <script type="text/javascript">
> > > Event.observe(document.body, 'click', clicking);
> > > </script>
> > > </body>
> > > </html>
> > >
> > > Try left/right/middle clicking in IE and FF and then change 'click' to
> > > 'mousedown' and retest.
> > >
> > > Hopefully that will show you what we mean.
> > >> On Tue, 12 Feb 2008 03:45:22 +0300, tancurrom
> > >> <[EMAIL PROTECTED]> wrote:
> > >>
> > >> >
> > >> > I think its just because of the way JavaScript handles the click
> > >> > event. Use the 'mousedown' event instead of the 'click' event and you
> > >> > will get your results
> > >> >
> > >> > On Feb 11, 2:42 pm, "artemy tregoubenko" <[EMAIL PROTECTED]>
> > >> > wrote:
> > >> >> Hello,
> > >> >>
> > >> >> Event.isLeftClick() is told to differ left clicks from right and
> > >> middle
> > >> >> clicks. However when I run
> > >> >> document.observe('click',
> > >> function(event){ alert(event.isLeftClick()); })
> > >> >> in IE and then left-click page, I see 'false' in alert. This starts
> > >> >> working if you listen to 'mousedown' or 'mouseup' events, but I
> > >> don't like
> > >> >> this way out.
> > >> >>
> > >> >> I don't like it because 'click' event may be triggered by keyboard
> > >> too,
> > >> >> and it's not good to forbid people to use keyboard at your site. I
> > >> had an
> > >> >> idea to listen for both 'mousedown' and 'click' events, but didn't
> > >> manage
> > >> >> to differ keyboard and mouse clicks in handler to avoid doubleposts.
> > >> >>
> > >> >> Is it possible to fix isLeftClick? If not, is there some nice
> > >> workaround
> > >> >> for this situation?
> > >> >>
> > >> >> --
> > >> >> arty (http://arty.name)
> > >> > >
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> arty ( http://arty.name )
> > >
> > >
> > >
> >
> >
> >
> > --
> > arty ( http://arty.name )
> >
> > >
> >
>
>
> --
> -----
> Richard Quadling
> Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
> "Standing on the shoulders of some very clever giants!"
>
> >
>


-- 
arty ( http://arty.name )

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to