鼠标点击模拟JavaScript中的键盘键
在应用程序(HTML/XUL)中,有些函数键(F5、F7和F9)有键绑定,以便与其他应用程序通信 现在我必须为同一个应用程序制作基于触摸的界面,没有键盘和高级触摸事件。所有触摸点击实际上都与鼠标点击相同,我需要有3个按钮/链接,它们的行为与F5、F7和F9键相同 不要问原因,我所能说的就是我需要保留密钥绑定鼠标点击模拟JavaScript中的键盘键,javascript,keyboard,touch,dom-events,key-bindings,Javascript,Keyboard,Touch,Dom Events,Key Bindings,在应用程序(HTML/XUL)中,有些函数键(F5、F7和F9)有键绑定,以便与其他应用程序通信 现在我必须为同一个应用程序制作基于触摸的界面,没有键盘和高级触摸事件。所有触摸点击实际上都与鼠标点击相同,我需要有3个按钮/链接,它们的行为与F5、F7和F9键相同 不要问原因,我所能说的就是我需要保留密钥绑定 我可以指定鼠标点击链接,使其像按下F键一样吗?我想有两种方法可以做到这一点 最简单的方法是让你的F键调用一个函数,然后在捕捉鼠标事件时调用相同的函数 另一种方法是捕捉鼠标事件,并触发F键按下
我可以指定鼠标点击链接,使其像按下F键一样吗?我想有两种方法可以做到这一点 最简单的方法是让你的F键调用一个函数,然后在捕捉鼠标事件时调用相同的函数 另一种方法是捕捉鼠标事件,并触发F键按下事件。那么这几乎就是这个问题的翻版:
我想有两种方法可以做到这一点 最简单的方法是让你的F键调用一个函数,然后在捕捉鼠标事件时调用相同的函数 另一种方法是捕捉鼠标事件,并触发F键按下事件。那么这几乎就是这个问题的翻版:
我想有两种方法可以做到这一点 最简单的方法是让你的F键调用一个函数,然后在捕捉鼠标事件时调用相同的函数 另一种方法是捕捉鼠标事件,并触发F键按下事件。那么这几乎就是这个问题的翻版:
我想有两种方法可以做到这一点 最简单的方法是让你的F键调用一个函数,然后在捕捉鼠标事件时调用相同的函数 另一种方法是捕捉鼠标事件,并触发F键按下事件。那么这几乎就是这个问题的翻版:
在Jake的答案中,大部分是解决方案,在此基础上,我给出了完整的答案,因为对于初学者来说,修改功能乍一看并不容易。 此函数由以下函数修改: 现在我们在所需的元素/事件上调用它,以便按下所需的键。第二个参数是对象,所有选项都可以更改(在我的例子中,只需要发送keyCodeArg:116来模拟F5按键)
Mozilla Developer Network有很多关于和的文章。在Jake的回答中,这是大多数解决方案,基于这一点,我给出了完整的答案,因为对于初学者来说,修改功能乍一看并不容易。 此函数由以下函数修改: 现在我们在所需的元素/事件上调用它,以便按下所需的键。第二个参数是对象,所有选项都可以更改(在我的例子中,只需要发送keyCodeArg:116来模拟F5按键)
Mozilla Developer Network有很多关于和的文章。在Jake的回答中,这是大多数解决方案,基于这一点,我给出了完整的答案,因为对于初学者来说,修改功能乍一看并不容易。 此函数由以下函数修改: 现在我们在所需的元素/事件上调用它,以便按下所需的键。第二个参数是对象,所有选项都可以更改(在我的例子中,只需要发送keyCodeArg:116来模拟F5按键)
Mozilla Developer Network有很多关于和的文章。在Jake的回答中,这是大多数解决方案,基于这一点,我给出了完整的答案,因为对于初学者来说,修改功能乍一看并不容易。 此函数由以下函数修改: 现在我们在所需的元素/事件上调用它,以便按下所需的键。第二个参数是对象,所有选项都可以更改(在我的例子中,只需要发送keyCodeArg:116来模拟F5按键)
Mozilla开发者网络有很多关于和的文章。Tnx,您已经引导我找到了答案。我不得不付出一点努力,正因为如此,我对自己的问题给出了一个准确的答案,以便将来帮助别人。Tnx,你引导我找到了答案。我不得不付出一点努力,正因为如此,我对自己的问题给出了一个准确的答案,以便将来帮助别人。Tnx,你引导我找到了答案。我不得不付出一点努力,正因为如此,我对自己的问题给出了一个准确的答案,以便将来帮助别人。Tnx,你引导我找到了答案。我不得不付出一点努力,正因为如此,我对自己的问题给出了一个确切的答案,以便将来帮助别人。
function simulateKeyPress(target, options) {
var event = target.ownerDocument.createEvent('KeyEvents'),
options = options || {};
// Set your options or || default values
var opts = {
type: options.type || "keypress",
bubbles: options.bubbles || true,
cancelable: options.cancelable || true,
viewArg: options.viewArg || null,
ctrlKeyArg: options.ctrlKeyArg || false,
altKeyArg: options.altKeyArg || false,
shiftKeyArg: options.shiftKeyArg || false,
metaKeyArg: options.metaKeyArg || false,
keyCodeArg: options.keyCodeArg || 0,
charCodeArg: options.charCodeArg || 0
}
// Pass in the options
event.initKeyEvent(
opts.type,
opts.bubbles,
opts.cancelable,
opts.viewArg,
opts.ctrlKeyArg,
opts.altKeyArg,
opts.shiftKeyArg,
opts.metaKeyArg,
opts.keyCodeArg,
opts.charCodeArg
);
// Fire the event
target.dispatchEvent(event);
event.stopPropagation;
}
document.getElementById(element).addEventListener('click', function() {
simulateKeyPress(this, {keyCodeArg: 116});
});