2

我在具有两个 iFrame(A 和 B)的页面上的 iframe(iFrame A)中使用 jQuery Hotkeys。当焦点在 A 上时,热键效果很好。但在使用应用程序期间,我必须定期在 iFrame B 内单击。

即使 iFrame A 不在焦点上,如何使热键正常工作?

4

1 回答 1

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);
        }
    }
}
于 2013-09-17T10:39:01.267 回答