javascript – 在Google Chrome中通过箭头键选择无法选择的第一个选项
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在Google Chrome中通过箭头键选择无法选择的第一个选项,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2245字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 在Google Chrome中通过箭头键选择无法选择的第一个选项](/upload/InfoBanner/zyjiaocheng/780/ddf86417bc3c45658028e435e8d7211d.jpg)
我有一个选择选项,当用户选择一个选项时,它将从选择中删除并显示为按钮.按下按钮后,该选项将返回到我的选择.鼠标点击一切正常,但如果我们用箭头键导航,用户可以选择我的第一个选项“选择水果”.如何让它无法选择? disabled =“disabled”不起作用.这是一个jsfiddle http://jsfiddle.net/gbjcw1wp/2/.要重现问题,请选择一个水果,然后按键盘上的向上箭头键.
编辑:只在GOOGLE Chrome中发生.
禁用箭头键有效,但我想要另一种方法来实现这一点.
HTML:
<select id="combobox" onchange="cbchange();">
<option selected="selected">Choose Fruit</option>
<option value="apple">apple</option>
<option value="pear">pear</option>
<option value="orange">orange</option>
<option value="banana">banana</option>
</select>
<br>
<br>
<div id="buttons"></div>
Javascript:
var fieldnames = [];
var valuenames = [];
function sortComboBox() {
document.getElementById("combobox").remove(0);
var my_options = $("#combobox option");
my_options.sort(function (a, b) {
if (a.text.toUpperCase() > b.text.toUpperCase()) return 1;
if (a.text.toUpperCase() < b.text.toUpperCase()) return -1;
return 0;
});
$("#combobox").empty().append('<option>Choose Fruit</option>').append(my_options);
$('#combobox option:first-child').attr("selected", "selected");
}
function cbchange() {
var index = $('#combobox').get(0).selectedIndex;
var text = $('#combobox option:selected').text();
var selectedItem = $('#combobox').val();
$('#buttons').append('<table class="ui"><tr><td class="variable">' + text + '</td><td class="icon"><span id="' + selectedItem + '" class="icon ui" value="X" onclick="addOption(\'' + text + '\',this.id)">X</span></td></tr></table>');
$('#combobox option:eq(' + index + ')').remove();
fieldnames.push(text);
valuenames.push(selectedItem);
}
function addOption(text, selectedItem) {
for (var i = valuenames.length - 1; i >= 0; i--) {
if (valuenames[i] === selectedItem) {
valuenames.splice(i, 1);
fieldnames.splice(i, 1);
}
}
$("#combobox").append($("<option></option>").val(selectedItem).text(text));
$('#' + selectedItem).parent().parent().parent().parent().remove();
sortComboBox();
}
解决方法:
对代码进行简单更改即可解决您的问题.
给默认选项一些奇怪的值.例如:
<option value="null" selected="selected">Choose Fruit</option>
并将以下代码附加到cbchange()函数的开头.
if($('#combobox').val()=="null"){
return false;
}
内容总结
以上是互联网集市为您收集整理的javascript – 在Google Chrome中通过箭头键选择无法选择的第一个选项全部内容,希望文章能够帮你解决javascript – 在Google Chrome中通过箭头键选择无法选择的第一个选项所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。