我正在尝试在focusout
元素上触发ul
事件:
// HTML
<nav>
<ul _v-2e9e2f12="">
<li _v-2e9e2f12="">
<a _v-2e9e2f12="">
</a>
<ul _v-0078ee36="" _v-2e9e2f12="">
<li>List element</li>
<li>List element</li>
<li>List element</li>
</ul>
</li>
</ul>
</nav>
// JS
$(document).ready(function() {
$("a").click(function(ev) {
var $icon = $(ev.currentTarget)
var $menu = $icon.next()
$menu.focus()
console.log('Focus triggered!')
});
$("ul[_v-0078ee36]").focusout(function() {
console.log('Focusout triggered!')
});
})
但永远不会触发.focusout
。
这样做的正确方法是什么?
这是JSFiddle。
答案 0 :(得分:3)
除非您为它们提供制表符索引,否则无法聚焦输入元素以外的元素。
<ul tabindex="-1" _v-0078ee36="" _v-2e9e2f12="">
因此,如果要为非输入元素触发焦点,则必须将其选项卡索引设置为-1
。