在句子中移动每个单词。
我已经创建了用于输入我的应用程序的快捷键,它将移动并将每个输入控件集中在我的页面中。
我需要为标签设置键盘快捷键,因为它必须选择某些文本框中的每个句子的字符串。例如,txtAddress包含类似“我是新用户”的值,如果我按Tab键它必须选择字符串“hi”然后“i”然后“am”然后“new”然后“user”之后它必须聚焦下一个输入控件。
我尝试使用以下JS来关注下一个输入控件,但不知道如何选择文本框中的每个单词。
$(document).unbind('keydown');
$(document).bind('keydown', 'tab', function assets() {
try {
var inputs = $(":input:not(input[type='hidden'])");
var CurInput = inputs.get(inputs.index(document.activeElement));
var nextInput = inputs.get(inputs.index(document.activeElement) + 1);
if (CurInput && nextInput.type == "text" && CurInput.style.display != "none") {
var strval = CurInput.value;
if (!strval) {
if (nextInput && nextInput.type != "hidden" && nextInput.style.display != "none") {
nextInput.focus();
}
}
}
else if (nextInput && nextInput.type != "hidden" && nextInput.style.display != "none") {
nextInput.focus();
}
return false;
}
catch (e) {
}
});
答案 0 :(得分:2)
http://jsbin.com/cihahigevo/1/edit?html,js,output
var textarea = $('textarea')[0],
index = 0;
$(document).on('keydown.tab', function(e){
if( e.keyCode == 9 ){
textarea.focus();
textarea.value = textarea.value.trim() + ' ';
index = textarea.value.indexOf(' ', index) + 1;
textarea.setSelectionRange(0, index);
}
return false;
});
答案 1 :(得分:0)
覆盖用户键盘,尤其是标签按钮,绝不是一个好主意。
标签按钮由(无论出于何种原因)不使用鼠标通过“标签”导航网站的人使用。按钮,表单字段等之间
如果您通过覆盖标签键删除此功能,则会突然使这些用户无法访问您的网站。
您也可能违反国家/地区关于网站可访问性的法律(英国的残疾与歧视法案)。