我正在开发一个需要完全由键盘控制的应用程序,到目前为止一切都很好,但是当使用 ENTER 键时,我无法使 JQuery UI 菜单小部件工作。
从文档来看,似乎没有具体的方法可以使这项工作,所以我在列表元素上使用“onclick”
<li onclick="alert('Books Action')"><div>Books</div></li>
这是一个 jsfiddle ( https://jsfiddle.net/djbh6r82/ ),其中包含 JQuery UI 文档中的示例和第一个菜单项上的警报 -> 当我单击它时它工作正常,但使用“ENTER”它只会带给我回到开始(专注于菜单不会丢失)
$(function() {
$("#menu").menu();
});
.ui-menu {
width: 150px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.0/jquery-ui.js"></script>
<ul id="menu">
<li class="ui-state-disabled">
<div>Toys (n/a)</div>
</li>
<li onclick="alert('Books Action')">
<div>Books</div>
</li>
<li>
<div>Clothing</div>
</li>
<li>
<div>Electronics</div>
<ul>
<li class="ui-state-disabled">
<div>Home Entertainment</div>
</li>
<li>
<div>Car Hifi</div>
</li>
<li>
<div>Utilities</div>
</li>
</ul>
</li>
<li>
<div>Movies</div>
</li>
<li>
<div>Music</div>
<ul>
<li>
<div>Rock</div>
<ul>
<li>
<div>Alternative</div>
</li>
<li>
<div>Classic</div>
</li>
</ul>
</li>
<li>
<div>Jazz</div>
<ul>
<li>
<div>Freejazz</div>
</li>
<li>
<div>Big Band</div>
</li>
<li>
<div>Modern</div>
</li>
</ul>
</li>
<li>
<div>Pop</div>
</li>
</ul>
</li>
<li class="ui-state-disabled">
<div>Specials (n/a)</div>
</li>
</ul>
我做错了吗?我尝试了不同的东西(<a href='#' onclick="xxx"></a>
而不是div,onclick div而不是ul)但似乎没有任何效果