如何在元素

时间:2016-02-19 19:22:03

标签: javascript jquery angularjs d3.js

我试图制作一个Angular应用程序(使用D3.js)Web Accessible。

目标:当用户呼叫特定图表(在本例中为旭日)时,图表会展开到视图中。我的目的是在图表的特定元素上创建默认焦点,这样一旦用户调用/选择图表,图表就会自动获得焦点。

问题:一旦我将旭日形图扩展到视图中,Tabbing顺序就从页面的开头重置(没有页面加载作为单页面应用程序)。然后用户必须通过整个页面TAB导航到旭日形图。 我已经将中心节点设置为具有 Tabindex:0 的属性。 所以现在可以通过键盘导航(标签)访问中心节点。

var defaultNode = d3.select(sunburstChartdetail").select("path").attr("tabindex", 0);

我试过了:

  defaultNode.focus(); 

但是我收到了一个控制台错误,表明他正在关注'不是一个功能

注意:遗憾的是,由于NDA原因,我无法发布代码。

1 个答案:

答案 0 :(得分:1)

要关注元素,您需要获得对底层DOM元素的引用:

d3.select("foobar").node().focus()

或者在你的情况下:

defaultNode.node().focus()

Documentation on selection.node()