我有一种情况,在应用程序(HTML / XUL)中,某些功能键(F5,F7和F9)具有键绑定以便与某些其他应用程序通信。” >
现在,我必须为同一应用程序创建基于触摸的界面,而没有键盘和高级触摸事件。所有触摸单击实际上都与鼠标单击相同,并且我需要具有3个与F5
,F7和F9键相同的按钮/链接。”>不要问原因,我只能说我需要保留这些键绑定。
我是否可以分配鼠标单击链接来像按F键一样操作?
我有一种情况,在应用程序(HTML / XUL)中,某些功能键(F5,F7和F9)具有键绑定,以便与某些其他应用程序进行通信。现在我必须进行基于触摸的...
Jake的答案是大多数解决方案,并在此基础上给出了整个答案,因为初学者乍一看修改功能并不容易。这是从this thread中修改的功能:
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;
}
我猜有两种方法可以做到这一点。