Bug 7790 - ondblclick doesn't fire when attached with addEventListener
: ondblclick doesn't fire when attached with addEventListener
Status: RESOLVED FIXED
: WebKit
JavaScriptCore
: 420+
: Macintosh Mac OS X 10.4
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2006-03-15 17:17 PST by
Modified: 2006-06-13 09:43 PST (History)


Attachments
testcase (946 bytes, text/html)
2006-03-15 17:17 PST, Beau Hartshorne
no flags Details
Fixes addEventListener("dblclick"... (21.59 KB, patch)
2006-03-15 21:58 PST, Eric Seidel
mjs: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-03-15 17:17:03 PST
ondblclick doesn't fire when attached with addEventListener.
------- Comment #1 From 2006-03-15 17:17:25 PST -------
Created an attachment (id=7097) [details]
testcase
------- Comment #2 From 2006-03-15 20:07:19 PST -------
Bah.  It turns out that internally we use khtmlDblclick.  Likely for some historical reason.  That's just wrong, so I'll fix it.

But a work-around for site authors would be to use:

elem.addEventListener('khtmlDblclick', handler, false);

instead.  Or just set the elm.dblclick property directly.
------- Comment #3 From 2006-03-15 21:58:43 PST -------
Created an attachment (id=7104) [details]
Fixes addEventListener("dblclick"...
------- Comment #4 From 2006-03-15 22:12:08 PST -------
Thanks for the bug, and the great test case!
------- Comment #5 From 2006-03-16 23:57:39 PST -------
Looking at the code for the Safari 2.0.3 release branch, it looks like it's not possible there.  It was explicitly disallowed for whatever reason.

khtmlDblclick worked on all nighties prior to this fix.
------- Comment #6 From 2006-06-13 09:43:35 PST -------
To restate: khtmlDblClick is *not* a valid workarond for 1.3 or 2.0.  The only trick I know of working is using a timer to measure the time between two consecutive mouse clicks - if time < 300ms and the target is the same in both cases, I trigger a "virtual" dbl-click.  (thanks to Jorge Biaggini for that tip)