Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS/CoffeeScript:Element不';无法接收焦点。焦点()_Javascript_Drop Down Menu_Coffeescript - Fatal编程技术网

Javascript JS/CoffeeScript:Element不';无法接收焦点。焦点()

Javascript JS/CoffeeScript:Element不';无法接收焦点。焦点(),javascript,drop-down-menu,coffeescript,Javascript,Drop Down Menu,Coffeescript,我正在尝试设置一些类似于下拉菜单的适当对象树 我设法建立了一个类似于下拉菜单的对象树。但现在我正努力手动将焦点设置到子菜单。我知道我在正确的项目上,但是对它执行focus()似乎没有预期的效果。我已经准备了一个代码笔来说明问题: 在输出窗口中,按tab键,直到进入“编程语言”选项。然后按enter键打开子菜单。现在,如果你按下“down”,我希望第一个项目“Ruby”获得焦点。但事实并非如此。查看RootParentItem类中的handleDown函数以查看相应的代码。如果更改handleD

我正在尝试设置一些类似于下拉菜单的适当对象树

我设法建立了一个类似于下拉菜单的对象树。但现在我正努力手动将焦点设置到子菜单。我知道我在正确的项目上,但是对它执行
focus()
似乎没有预期的效果。我已经准备了一个代码笔来说明问题:


在输出窗口中,按tab键,直到进入“编程语言”选项。然后按enter键打开子菜单。现在,如果你按下“down”,我希望第一个项目“Ruby”获得焦点。但事实并非如此。查看
RootParentItem
类中的
handleDown
函数以查看相应的代码。

如果更改
handleDown
的行为以关注
a
元素,或者在
li
上添加一个
tabindex
属性,那么焦点将起作用,因为除了表单锚和iFrame之外,您只能使用
tabindex
聚焦元素。

问题是,我不想使用tab键在子菜单中导航。因此,在聚焦之前,我是否应该将e
attr('tabindex',0')
手动添加到
li
?或者我不应该和focus一起工作吗?或者我应该为tab键设置默认值并手动设置它?我从我的问题中删除了一些不必要的信息,以便我可以将您的答案标记为正确。谢谢。我用从这个问题中删去的内容创建了一个新问题: