cubism icon indicating copy to clipboard operation
cubism copied to clipboard

Cubism not bubbling up left/right arrow key events?

Open faulkner opened this issue 13 years ago • 3 comments

I'd like to use Cubism on a page that also happens to have input fields, but it seems to be blocking the left/right keydowns events from bubbling up.

I have a hacked up version of the http://square.github.com/cubism/ landing page at http://bl.ocks.org/2983814 with an input field added to recreate the issue.

Not sure if this is a bug or if I'm just doing something wrong.

faulkner avatar Jun 24 '12 16:06 faulkner

The context listens for arrow key events to control the focused time. See context.js.

I think if you want to fix this, you'll either need a way to disable keyboard controls on the context, or you'll need to put the cubism charts inside a focusable element (e.g., <div tabIndex="1">) and put the input fields outside the focusable element. In the latter case, Cubism would also need to detect that it's inside a focusable element and put the key listeners there rather than on the window. I implemented something similar to Polymaps a few years ago; see focusableParent.

mbostock avatar Jun 24 '12 17:06 mbostock

This would disable the key handler: d3.select(window).on("keydown.context-1", null);

jarben avatar Sep 05 '13 04:09 jarben

Wouldn't it be pretty easy to make the key binding optional in a given context? There are lots of other options, seems like one more wouldn't be a big deal. Grabbing left/right for the whole window seems like something a lot of people might not want...

hellige avatar Jul 24 '15 19:07 hellige