Solved

Ignore onMouseDoubleClick to allow for rapid onMouseDown event captures (IE only)

Posted on 2008-06-11
2
526 Views
Last Modified: 2008-06-20
I have an online javascript calculator that uses html/CSS for the GUI buttons.  These calculator buttons are using onmousedown to capture the user clicking on the GUI.  This works great, but in IE, if the user clicks very quickly (for example types the number "1.333") then IE interprets the clicking of the "3s" as a doubleclick event and I do not get the correct number of onmousedown events.  This is extremely annoying and only in IE.  (FF, Safari, and Opera all process the event with the correct number of onmousedown events.)

I've done some research into what events are being fired for IE.  If you do two quick clicks you fire the following sequence of events:

mousedown fired... Then mouseup fired... Then click fired... Then mousedown fired... Then mouseup fired... Then click fired... Then dblclick fired...

So it appears as if the dblclick event trumps any mouedown events.

What approach should I take to this problem?  Again, this seems to be an IE only problem but I need this solution to work correctly in conjunction with all the other browsers that work fine.

0
Comment
Question by:proee
2 Comments
 
LVL 3

Accepted Solution

by:
robacarp earned 500 total points
ID: 21765991
I may be oversimplifying the problem, but you could setup your dblclick handler to fire your click handler twice:
[example psuedo javascript]
 

function clickFunc(){

   //do stuff 

}
 

function dblClickFunc(){

   if (browser.id != 'Internet Explorer') return;

   clickFunc();

   clickFunc();

}
 

button.onclick = clickFunc;

button.ondblclick = dblClickFunc;
 

/* or something like that.... its an example, not working code */

Open in new window

0
 

Author Comment

by:proee
ID: 21766015
I've thought about this approach.  Wondering if there might be less of a "hack" than this.  I have a lot of buttons on the calculator gui so I'd have to add a ton of onmousedblclick handlers all over.  I was hoping to handle it with an event capture somehow.  Thanks for the suggestion, I'll try it if I don't hear of a better approach.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

In Part 1 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7849-Hex-Maze.html) we covered the hexagonal maze basics -- how the cells are represented in a JavaScript array and how the maze is displayed.  In this part, we'…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now