[Prototype-core] Re: Event.isLeftClick() vs. click event in IE
BTW, your example in IE6 produces following results: for click: Left click: You clicked with your button. Event.button = 0 and Event.which = undefined Right and middle click: no effect, as expected for mousedown, as expected: Left click: You clicked with your Left button. Event.button = 1 and Event.which = undefined You clicked with your Middle button. Event.button = 4 and Event.which = undefined You clicked with your Right button. Event.button = 2 and Event.which = undefined See, for click event isLeftButton is broken. Should I send you example to prove that click may be toggled via keyboard? 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 titleTesting clicking/title /head body span id=clickerLeft, Right or Middle click me!/span script type=text/javascript Event.observe(document.body, 'click', clicking); /script /body /html -- 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 -~--~~~~--~~--~--~---
[Prototype-core] Re: Event.isLeftClick() vs. click event in IE
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? 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 titleTesting clicking/title /head body span id=clickerLeft, 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=ZEND002498r=213474731 Standing on the shoulders of some very clever giants! --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Prototype-core] Re: Event.isLeftClick() vs. click event in IE
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 titleTesting clicking/title /head body span id=clickerLeft, 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 ) -- - Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731 Standing on the shoulders of some very clever giants! --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Prototype-core] Re: Event.isLeftClick() vs. click event in IE
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 titleTesting clicking/title /head body span id=clickerLeft, 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=ZEND002498r=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 -~--~~~~--~~--~--~---
[Prototype-core] Re: Event.isLeftClick() vs. click event in IE
I don't want to break keyboard navigation only because of IE problem. 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 ) --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---