Javascript HTML表单中带加号的选项卡式键盘导航
我有一个带有Telerik UI的.NET WebForms页面,用于ASP.NET AJAX和HTML表单Javascript HTML表单中带加号的选项卡式键盘导航,javascript,html,forms,telerik,keyboard-shortcuts,Javascript,Html,Forms,Telerik,Keyboard Shortcuts,我有一个带有Telerik UI的.NET WebForms页面,用于ASP.NET AJAX和HTML表单 tab键按预期在表单上的字段中导航。如果字段具有默认内容,则会在焦点上选择这些内容,以便于更改 加号键还通过表单上的一些自定义javascript(见下文)在字段中导航;但是,当使用加号导航到具有默认值的字段时,默认值不会在页面加载后的第一个焦点上突出显示。不过,如果我在页面加载后第二次将其加回,默认内容将按预期突出显示 我需要调整什么才能使字段的现有默认内容在焦点上用加号键高亮显示
- tab键按预期在表单上的字段中导航。如果字段具有默认内容,则会在焦点上选择这些内容,以便于更改
- 加号键还通过表单上的一些自定义javascript(见下文)在字段中导航;但是,当使用加号导航到具有默认值的字段时,默认值不会在页面加载后的第一个焦点上突出显示。不过,如果我在页面加载后第二次将其加回,默认内容将按预期突出显示
function handlePlusKey(event) {
if (event.keyCode == 107) {
var control = this;
var found = false;
$(tabTypes).each(function (i) {
if (this.className.indexOf('rtsLink') == -1
&& this.id.indexOf('InitInsertButton') == -1
&& this.title != "Click here to sort"
&& this.tabIndex > -1
&& $(this).is(":visible")
&& !$(this).is(":disabled"))
if (this == control) {
found = true;
}
else if (found) {
this.focus();
found = false;
}
});
event.preventDefault();
}
}
尝试手动添加所选内容
inputElement.focus();
inputElement.setSelectionRange(0, inputElement.value.length);
将
InputElement
更改为需要高亮显示的元素。在大多数情况下,这将是事件。target
,我认为这是控件
在您的情况下。它在每个浏览器上都这样做吗?这可能是您正在使用的浏览器中的一个错误。在Windows 10上,Chrome、Firefox和IE的最新稳定频道中似乎会出现这种情况,尽管有点间歇性。这可能与加号键在切换到下一个字段之前试图在上一个字段中输入实际值有关,因此新字段中的值永远不会被选中。不过,只是猜测而已。谢谢,@BrandonMiller。我发现加号键导航是定制的js,所以我对这个问题进行了重大修改。