如何在 Javascript 中模拟多个按键?
How to simulate multiple keypress in Javascript?
我正在尝试通过 link 单击来启动浏览器搜索。
我发现有一些功能如 window.find()
,但它们并不适用于所有浏览器。所以实现这个的最好方法是,模拟 ctrl + f
.
我有以下代码,但它不起作用,我不知道为什么。
function bringUpSearch() {
var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";
keyboardEvent[initMethod](
"keydown", // event type : keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // viewArg: should be window
true, // ctrlKeyArg
false, // altKeyArg
false, // shiftKeyArg
false, // metaKeyArg
102, // keyCodeArg : unsigned long the virtual key code, else 0
0 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0
);
document.dispatchEvent(keyboardEvent);
}
<a href="#" onclick="bringUpSearch()">Bring up browser search</a>
您不能在 Chrome 中执行此操作,因为没有 API。 See the list of Chrome Extensions Documentation
在那些古老的手稿中,人们提到 Find Dialog: window.find(),您可以通过传递 true
作为最后一个参数来打开对话框,但它已经不支持很久了。
您可以做一个自定义搜索文本字段,从中获取用户输入,然后 运行 window.find
我正在尝试通过 link 单击来启动浏览器搜索。
我发现有一些功能如 window.find()
,但它们并不适用于所有浏览器。所以实现这个的最好方法是,模拟 ctrl + f
.
我有以下代码,但它不起作用,我不知道为什么。
function bringUpSearch() {
var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";
keyboardEvent[initMethod](
"keydown", // event type : keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // viewArg: should be window
true, // ctrlKeyArg
false, // altKeyArg
false, // shiftKeyArg
false, // metaKeyArg
102, // keyCodeArg : unsigned long the virtual key code, else 0
0 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0
);
document.dispatchEvent(keyboardEvent);
}
<a href="#" onclick="bringUpSearch()">Bring up browser search</a>
您不能在 Chrome 中执行此操作,因为没有 API。 See the list of Chrome Extensions Documentation
在那些古老的手稿中,人们提到 Find Dialog: window.find(),您可以通过传递 true
作为最后一个参数来打开对话框,但它已经不支持很久了。
您可以做一个自定义搜索文本字段,从中获取用户输入,然后 运行 window.find