【发布时间】:2016-10-07 14:17:25
【问题描述】:
我正在尝试在 rad 网格控件 (Telerik) 内的文本区域中模拟左右箭头键按下。
我有一个特定于浏览器 Firefox 的错误,其中选项卡事件(已修复此部分)和箭头键不起作用。其他所有浏览器都可以正常工作。
因此,作为一种解决方法,我想使用 JavaScript 或 jquery 模拟箭头键。
以下是我使用的选项卡事件修复程序。除此之外,我检查是否按下了键码 37(这是左箭头键)。此时我想在文本区域模拟左箭头按下。
$(document).on('keydown', function (event) {
if (event.keyCode == 9) { //tab pressed
event.preventDefault(); // stops default action
}
});
$('body').keyup(function (e) {
var code = e.keyCode || e.which;
//Left arrow key press
if (code == '37')
{
moveLeft();// This does not trigger the left arrow event
}
//Tab button pressed
if (code == '9') {
//shift was down when tab was pressed focus -1
if (e.shiftKey && code == 9) {
var focused = $(':focus');
var inputs = $(focused).closest('form').find(':input');
inputs.eq(inputs.index(focused) - 1).focus();
}
//tab was pressed focus +1
else {
var focused = $(':focus');
var inputs = $(focused).closest('form').find(':input');
inputs.eq(inputs.index(focused) + 1).focus();
}
}
});
对这个问题的任何帮助将不胜感激
【问题讨论】:
-
如果您不想自己编写此代码,您可以使用这个库 (craig.is/killing/mice),我认为它可能会帮助您完成所需的工作。
标签: javascript jquery asp.net keydown arrow-keys