0

基本上我的目标是尝试为我的整个 Web 项目创建一个键盘控制器,并且我希望能够保留我在父文档上创建的键绑定并让它们被子 iframe 继承。这可能吗?

这是我现在拥有的示例设置:http: //jsfiddle.net/sahil_signal/d39Nn/9/

<div id="tabcontainer">
    <button id="tab1button" type="button">Tab1</button>
    <button id="tab2button" type="button">Tab2</button>
</div>
<iframe id="iframe1container"></iframe>
<iframe id="iframe2container"></iframe>

$(document).on('keydown', function (e) {
    var keycode = e.keyCode || e.which;

    if (keycode == 9) {
        e.preventDefault();
        console.log("Tab");
    }
});

即使 iframe 获得焦点,我希望仍然能够绑定 tab 键,并且我意识到我可以将 tab 键重新绑定到 iframe 文档,但是有没有办法避免这种情况?

4

1 回答 1

2

在您的 iframe 中,您可以添加一个会触发顶部事件的事件处理程序......将这部分代码放在您的 iframe 文档中:

$(document).on('keydown', function (e) {
    $(top.document).trigger('keydown',e);
});

这应该只是将事件“转发”到顶部文档。请参阅 jQuery API 中的http://api.jquery.com/category/events/event-object/http://api.jquery.com/trigger/以便能够稍微玩一下。

于 2013-08-02T15:13:52.327 回答