-
Notifications
You must be signed in to change notification settings - Fork 295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some dgrid Keyboard Listeners do not work in IE10/IE11 and Chrome 55. #1067
Comments
also ran into this issue. in chrome, the keyboard-mixin gets the event first, then the DnD setting the focus works when clicking with the right-mouse-button - since the DnD code doesn't stop this kind of events. has anybody any idea how how to solve that? |
I also see the same issue. Clearly, clicking on a row does not give focus to the row. But clicking on the dgrid-content or header gets focus. Does anyone have a fix for this? |
I just observed the same behavior in chrome 55.0.2883.87 |
I'm wondering if this is similar to https://bugs.dojotoolkit.org/ticket/18932 , which is basically a conflict between pointer events and traditional events. |
I was able to work around this issue using the below code on my grid widget, though I am not sure it is completely satisfactory, especially since @gerpres mentioned he is seeing this behavior on Chrome 55.0.2883.87.
The goal of this workaround was to avoid modifying Dojo code, and avoid aspect-oriented solutions. |
This works simply by luck in Firefox, and fails in other browsers due to the complexity of implementing drag and drop. Firefox first calls the Chrome first calls the DnD handler which cancels the event and then The recommended solution is to use specific DOM nodes as DnD sources, and limit what types of interactions are needed with those nodes. In the dgrid laboratory you can see this approach in action. If you look at the columns listed on the left, each has an icon to its left that is a DnD source - not only does this give a nice visual cue, but it also avoids conflicts between |
any updates on this? |
`dgrid/extensions/DnD` uses `dojo/dnd/Source` which registers an event handler using `on(node, touch.press)`. `touch.press` evaluates to `'pointerdown'` in browsers that support pointer events, and when the `'pointerdown'` listener is registered the `'mousedown'` listener is never called. This change causes Keyboard to use `touch.press` when DnD is being used. It also exposes a new configuration property, `mouseDownEventType`, which enables developers to further customize this behavior.
`dgrid/extensions/DnD` uses `dojo/dnd/Source` which registers an event handler using `on(node, touch.press)`. `touch.press` evaluates to `'pointerdown'` in browsers that support pointer events, and when the `'pointerdown'` listener is registered the `'mousedown'` listener is never called. This change causes Keyboard to use `touch.press` when DnD is being used. It also exposes a new configuration property, `mouseDownEventType`, which enables developers to further customize this behavior.
@carter-erwin and @gerpres please verify that the fix in #1445 solves your issue, thanks! |
There seems to be in issue in IE10 and IE11 where the dojo.on(KeyDown) listeners which are set in "dgrid/Keyboard" are not registering properly when certain mixin combinations are used. This can be reproduced at http://dgrid.io/js/dgrid/demos/laboratory/ by enabling the "Keyboard" and "DnD" Grid Features. Other features, such as "Selection" can help to highlight the issue, but are not necessary.
The text was updated successfully, but these errors were encountered: