<select>
<option></option>
<option></option>
<option></option>
</select>
我有一个Select元素,所以通常在控件&#34;焦点&#34;在Select元素中然后我们点击Enter按钮以显示OPTION。所以我的问题是我不想在Enter Press上打开它,我只想通过鼠标点击打开Select元素。
答案 0 :(得分:1)
如果我理解你的问题你的想法......,这可能就是答案:
<html>
<head>
<title>Single Listbox Select Element</title>
</head>
<body>
<select size="2" style="height:1.5em;width:3em">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</body>
</html>
答案 1 :(得分:1)
如果按下回车键,您可以收听keydown
事件和prevent the default操作。您可以根据浏览器兼容性检查key
,keyCode
或which
来检查输入密钥是否为输入密钥。
e.g。
document
.getElementById("select")
.addEventListener("keydown", function(e) {
if (e.key === "Enter" || (e.keyCode || e.which) === 13)
e.preventDefault();
});
<select id="select">
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
</select>
答案 2 :(得分:1)
使用Event.preventDefault()
来阻止浏览器采取默认操作,这样可以防止在空格或输入时按下select
元素。
vanilla js
document.querySelector("select").addEventListener("keypress", function(event) {
event.preventDefault();
});
<强>的jQuery 强>
$('select').keypress(function (e) {
e.preventDefault();
})
答案 3 :(得分:0)
请注意,键盘辅助功能是网络上辅助功能的核心租户之一。通过禁用用户打开选择的功能,您将使您的UI无法被可能无法使用常规鼠标/触控板的残疾人使用。
浏览器默认会做正确的事,请不要与他们对抗!