Opened 6 years ago
Closed 6 years ago
#18479 closed defect (duplicate)
IE10+ is momentarily unresponsive to certain mouse events after clicking node with dojoClick=true
Reported by: | Jason Cowley | Owned by: | bill |
---|---|---|---|
Priority: | undecided | Milestone: | tbd |
Component: | Events | Version: | 1.10.4 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
This is a problem that has been reported in our application, but I have managed to reproduce it in the attached test page (see test.html).
It affects IE10 and IE11 and has been introduced in Dojo 1.10.x. The problem is not present is 1.9.x.
Steps:
- Open the page test.html on a web server in IE10 or IE11.
- Click any of Link 1, Link 2 or Link 3 anchors. The page should navigate to google.com.
- Click back to go back to test.html.
- Click the Dijit button labelled "Click me then quickly click a link below", then immediately click on one of the hyperlinks. Nothing happens.
- Click the Dijit button again, then wait a couple of seconds before clicking a hyperlink. The browser will navigate to google.com.
The same behaviour can be reproduced by clicking on Tab 2, then clicking back to Tab 1 and quickly clicking on a hyperlink.
The problem doesn't happen when clicking the native button before clicking on a hyperlink.
Our users are seeing this when switching tabs then clicking on links, or when clicking on DropDownButtons? then selected something from the drop-down.
Attachments (1)
Change History (8)
Changed 6 years ago by
comment:1 Changed 6 years ago by
After more investigation I've discovered that the problem was introduced in this commit: https://github.com/dojo/dijit/commit/4e659c6c2db5f3bf4febc3eb0ddfb7d11903d5b7
Now that it's setting dojoClick = true on the nodes, the code in dojo/touch is stopping native events within 1000ms of the previous button click.
So this problem actually affects any browser that support touch or MSPointer events, not just IE10+.
comment:2 follow-up: 3 Changed 6 years ago by
Thanks for the test case and the investigation. I'm not sure why you say that it's "setting dojoClick = true on the nodes", but yes, it does sound like it's caused by that 1000ms window.
comment:3 Changed 6 years ago by
Replying to bill:
Thanks for the test case and the investigation. I'm not sure why you say that it's "setting dojoClick = true on the nodes", but yes, it does sound like it's caused by that 1000ms window.
Do you think there is a safe way to work around this so that at least IE11 on a desktop browser does not have the delay? I don't think we have many users on touch screens for our application, so it will be mainly mouse users that are affected. Thanks!
comment:5 Changed 6 years ago by
Component: | Dijit → Events |
---|---|
Owner: | changed from bill to Kris Zyp |
Summary: | IE10+ is momentarily unresponsive to certain mouse events after clicking Dijit button → IE10+ is momentarily unresponsive to certain mouse events after clicking node with dojoClick=true |
Changing title since this is really about dojo/touch.
comment:6 Changed 6 years ago by
Owner: | changed from Kris Zyp to bill |
---|---|
Status: | new → assigned |
comment:7 Changed 6 years ago by
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
Duplicate of #18362.
Simple test page to reproduce the problem.