[Pkg-javascript-commits] [dojo] 62/149: Emit synthetic mousedown and mouseup events to replace events that were suppressed by dojo/touch code.
David Prévot
taffit at moszumanska.debian.org
Sat Feb 27 03:13:48 UTC 2016
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository dojo.
commit 945c52c8c0cb59d80c06f424d3e21a754686ac9a
Author: Nick Nisi <nick at nisi.org>
Date: Fri Mar 27 11:11:32 2015 -0500
Emit synthetic mousedown and mouseup events
to replace events that were suppressed by dojo/touch code.
Note that this problem was already avoided on IE desktop by
the previous commit, f8c747b2399f88f9a3a1f116afc955d5ae39be0d.
Fixes #18478.
---
touch.js | 49 +++++++++++++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 20 deletions(-)
diff --git a/touch.js b/touch.js
index 2f965d4..749f743 100644
--- a/touch.js
+++ b/touch.js
@@ -149,27 +149,36 @@ function(dojo, aspect, dom, domClass, lang, on, has, mouse, domReady, win){
//some attributes can be on the Touch object, not on the Event:
//http://www.w3.org/TR/touch-events/#touch-interface
var src = (e.changedTouches) ? e.changedTouches[0] : e;
- //create the synthetic event.
- //http://www.w3.org/TR/DOM-Level-3-Events/#widl-MouseEvent-initMouseEvent
- var clickEvt = document.createEvent("MouseEvents");
- clickEvt._dojo_click = true;
- clickEvt.initMouseEvent("click",
- true, //bubbles
- true, //cancelable
- e.view,
- e.detail,
- src.screenX,
- src.screenY,
- src.clientX,
- src.clientY,
- e.ctrlKey,
- e.altKey,
- e.shiftKey,
- e.metaKey,
- 0, //button
- null //related target
- );
+ function createMouseEvent(type){
+ //create the synthetic event.
+ //http://www.w3.org/TR/DOM-Level-3-Events/#widl-MouseEvent-initMouseEvent
+ var evt = document.createEvent("MouseEvents");
+ evt._dojo_click = true;
+ evt.initMouseEvent(type,
+ true, //bubbles
+ true, //cancelable
+ e.view,
+ e.detail,
+ src.screenX,
+ src.screenY,
+ src.clientX,
+ src.clientY,
+ e.ctrlKey,
+ e.altKey,
+ e.shiftKey,
+ e.metaKey,
+ 0, //button
+ null //related target
+ );
+ return evt;
+ }
+ var mouseDownEvt = createMouseEvent("mousedown");
+ var mouseUpEvt = createMouseEvent("mouseup");
+ var clickEvt = createMouseEvent("click");
+
setTimeout(function(){
+ on.emit(target, "mousedown", mouseDownEvt);
+ on.emit(target, "mouseup", mouseUpEvt);
on.emit(target, "click", clickEvt);
// refresh clickTime in case app-defined click handler took a long time to run
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/dojo.git
More information about the Pkg-javascript-commits
mailing list