每次按 TAB 键时选择不同的单词
Select different word each time TAB key is pressed
在句子中的每个单词上移动。
我已经为在我的应用程序中创建了输入的快捷键,因为它将移向并聚焦我的页面中的每个输入控件。
我需要为选项卡设置键盘快捷键,因为它必须选择某个文本框中的句子的每个字符串。例如,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) {
}
});
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;
});
覆盖用户键盘从来都不是一个好主意,尤其是选项卡按钮。
选项卡按钮由(无论出于何种原因)不使用鼠标通过在按钮、表单字段等之间"按 Tab 键"来导航网站的人使用。
如果您通过覆盖 Tab 键来删除此功能,则会突然使这些用户无法访问您的网站。
您也可能违反您所在国家/地区有关网站可访问性的法律(英国的《残疾与歧视法》)。
相关文章:
- 选择带有空格分隔单词的元素
- 选择下拉菜单:实现非精确搜索,每个单词都将被不可重复地搜索
- 如何按从当前单词到段落中该句子(.)结尾的范围选择文本
- 选择符号旁边的单词
- 使用Javascript双击HTML中的空格时,选择上一个和下一个单词
- Hangman游戏将用户选择的字母与单词中的字母进行比较以进行猜测
- 试图用随机选择的单词填充html中的ul.JS
- 如果字符串与数组中的多个单词匹配,则Javascript会选择该字符串
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- Jquery $this属性选择器是否包含单词
- 在双击/选择单词时在 chrome 扩展程序中运行函数
- HTML 浏览器的“文本”选择:选择整个单词(如在 iBooks 中)
- 如何使用 JavaScript 将选择扩展到单词边界,仅一次
- 如何在分隔之间选择多个单词
- 选择 h2 标签的前两个单词并换行 span 标签
- 谷歌邮件应用程序脚本中的正则表达式困难 - 在两个单词之间选择单词
- 如何使表单仅针对我选择的单词提交
- 属性包含返回空数组的单词选择器
- 选择框与50 +单词选择
- 在锚标记中获取单词选择