我很清楚瀏覽器的標準事件觸發機制,但我需要一個JavaScript庫來模擬光標和通過鍵盤的插入點導航。特別是,我需要一個庫,它允許我移動插入點,但也可以處理擴展或摺疊文本的選擇範圍,例如,如果在虛擬箭頭鍵導航時虛擬shift鍵被「按下」。這樣的跨瀏覽器JavaScript庫存在嗎?是否存在用於模擬元素的鍵盤操作的跨瀏覽器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」。
此外,還有: http://yuilibrary.com/yui/docs/event/simulate.html –