Bug 7790

Summary: ondblclick doesn't fire when attached with addEventListener
Product: WebKit Reporter: Beau Hartshorne <beau>
Component: JavaScriptCoreAssignee: Eric Seidel (no email) <eric>
Status: RESOLVED FIXED    
Severity: Normal CC: eric
Priority: P2    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
testcase
none
Fixes addEventListener("dblclick"... mjs: review+

Description Beau Hartshorne 2006-03-15 17:17:03 PST
ondblclick doesn't fire when attached with addEventListener.
Comment 1 Beau Hartshorne 2006-03-15 17:17:25 PST
Created attachment 7097 [details]
testcase
Comment 2 Eric Seidel (no email) 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 Eric Seidel (no email) 2006-03-15 21:58:43 PST
Created attachment 7104 [details]
Fixes addEventListener("dblclick"...
Comment 4 Eric Seidel (no email) 2006-03-15 22:12:08 PST
Thanks for the bug, and the great test case!
Comment 5 Eric Seidel (no email) 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 Eric Seidel (no email) 2006-06-13 09:43:35 PDT
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)