我正在尝试以编程方式触发一个关键事件以在文本框中向左移动,但是没有任何运气。
输入元素具有焦点,光标位于末尾。我试图使光标向左移动-在字母“F”之前*以编程方式通过触发键盘事件(击键/击键/击键),并以相应的击键←或→为输入框。
ABCDEF |
这是到目前为止的代码:
的HTML
<input id="a" type="text" />
Java脚本
var keyEvent = document.createEvent("KeyboardEvent");
var keyLocation = '0x00';
var keyIdentifier = "Left";
keyEvent.initKeyboardEvent("keypress",
true,
true,
window,
keyIdentifier,
keyLocation,
false);
$("a").dispatchEvent(keyEvent);
如果您想查看整个代码,请在jsfiddle上保存一个快速演示-http://jsfiddle.net/Vsafv/
我对制作此跨浏览器不感兴趣(只需在Chrome中运行即可)。
最佳答案
e = jQuery.Event("keydown"); // define this once in global scope
e.which = 37; // Some key value
$("input").trigger(e);
其中“输入”是您的文本区域
37-左
38以上
39-对
40-下
因此,当您记录“事件”时,您将记录所按下键的值。
我确定您已经找到了一种方法来执行此操作,但以防万一,这里有一个我如何解决的想法:
var keysPressed = new Array(); // somewhere in the global scope
$("input").keydown(function (e) {
keysPressed.push(e.which); //adding values to the end of array
});
希望这可以帮助
关于javascript - 以编程方式在文本输入中按 "Left"键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2831693/