Opened 4 years ago

Closed 4 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:

  1. Open the page test.html on a web server in IE10 or IE11.
  2. Click any of Link 1, Link 2 or Link 3 anchors. The page should navigate to google.com.
  3. Click back to go back to test.html.
  4. Click the Dijit button labelled "Click me then quickly click a link below", then immediately click on one of the hyperlinks. Nothing happens.
  5. 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)

test.html (1.2 KB) - added by Jason Cowley 4 years ago.
Simple test page to reproduce the problem.

Download all attachments as: .zip

Change History (8)

Changed 4 years ago by Jason Cowley

Attachment: test.html added

Simple test page to reproduce the problem.

comment:1 Changed 4 years ago by Jason Cowley

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+.

Last edited 4 years ago by Jason Cowley (previous) (diff)

comment:2 Changed 4 years ago by 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.

comment:3 in reply to:  2 Changed 4 years ago by Jason Cowley

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:4 Changed 4 years ago by bill

#18578 is a duplicate of this ticket.

comment:5 Changed 4 years ago by bill

Component: DijitEvents
Owner: changed from bill to Kris Zyp
Summary: IE10+ is momentarily unresponsive to certain mouse events after clicking Dijit buttonIE10+ 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 4 years ago by bill

Owner: changed from Kris Zyp to bill
Status: newassigned

comment:7 Changed 4 years ago by bill

Resolution: duplicate
Status: assignedclosed

Duplicate of #18362.

Note: See TracTickets for help on using tickets.