我非常了解浏览器的标准事件触发机制,但我需要一个 JavaScript 库来模拟通过键盘进行光标和插入点导航。特别是,我需要一个库,它允许我移动插入点,但如果在使用虚拟箭头键导航时“按下”虚拟 shift 键,也可以处理扩展或折叠文本选择范围。这样的跨浏览器 JavaScript 库是否存在?
这旨在用于浏览器自动化库,因此像 Selenium 这样的建议是不合适的。此外,如果可能的话,我想避免依赖于大型 JavaScript 框架(如 jQuery)的库。最后,这需要在页面中注入,因此非 JavaScript 解决方案无法满足我的要求。
假设我有一个看起来像这样的 HTML 页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>keyboard</title>
</head>
<body>
<input id="editor" value="hello world" />
</body>
</html>
我希望能够在 JavaScript 中调用如下内容:
function moveCursor() {
var editor = document.getElementById("editor");
editor.focus();
// Hypothetical API here. This would need to be
// adjusted to be used with the actual library.
// Assume the pressKey() is defined as:
//
// pressKey(element, keyCode, isShiftPressed)
//
keyboardSimulator.pressKey(editor, keys.END);
keyboardSimulator.pressKey(editor, keys.LEFT, true);
keyboardSimulator.pressKey(editor, keys.LEFT, true);
}
调用此 JavaScript 函数后,我希望页面中的焦点位于编辑器元素上,并且选择“hello world”值中的“ld”。