[Prototype-core] Re: Event.isLeftClick() vs. click event in IE

2008-02-12 Thread artemy tregoubenko

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

2008-02-12 Thread Richard Quadling

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

2008-02-12 Thread Richard Quadling

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

2008-02-12 Thread artemy tregoubenko

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

2008-02-11 Thread artemy tregoubenko

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
-~--~~~~--~~--~--~---