我在iframe(iFrame A)中使用jQuery热键,在具有两个iFrame(A和B)的页面上。当焦点在A上时,热键效果很好。但我经常在使用应用程序时在iFrame B中点击。
如果iFrame A没有清晰对焦,如何使热键正常工作?
答案 0 :(得分:2)
我使用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);
}
}
}