我在具有两个 iFrame(A 和 B)的页面上的 iframe(iFrame A)中使用 jQuery Hotkeys。当焦点在 A 上时,热键效果很好。但在使用应用程序期间,我必须定期在 iFrame B 内单击。
即使 iFrame A 不在焦点上,如何使热键正常工作?
我在具有两个 iFrame(A 和 B)的页面上的 iframe(iFrame A)中使用 jQuery Hotkeys。当焦点在 A 上时,热键效果很好。但在使用应用程序期间,我必须定期在 iFrame B 内单击。
即使 iFrame A 不在焦点上,如何使热键正常工作?
我广泛使用带有热键的 iframe。我让热键调用一个名为“keyPressed”的函数,该函数根据组合键确定要做什么。如果我在一个通常在 iframe 中加载的页面上,我会让 iframe 的父级在 iframe 加载时绑定额外的热键。如果 iframe 页面的 keyPressed 函数没有特定用途,它将尝试将热键传递给父级。但是,这仅在您可以控制 iframe(它们是您网站的一部分)时才有效。
//handles all key pressed events
function keyPressed(keyname) {
if (keyname == 'alt+s') {
SaveStdPage();
}
else if (keyname == 'alt+d') {
ClickButton('TrashBtn');
}
else {
//Pass hotkey to parent
try{
parent.keyPressed(keyname);
}
catch (ex) {
console.log(keyname);
}
}
}