1

首先让我说我无法控制 iframe。

就像“绊倒”一样,我让用户使用右箭头键导航到下一页。

问题是如果用户点击了 iframe 窗口内的任何地方,包含文档的 keyup 事件将被忽略。

<script type="text/javascript">
$(document).ready(function() {
    $(document).on('keyup', null, function(event) {
        var stumblenext = $('#stumblenext');
        if (event.keyCode == 39) { top.location=stumblenext.attr('href'); }
        if (event.keyCode == 37) { history.back(); }
    });
});
</script>
4

2 回答 2

1

当您检测到焦点位于 iframe 上时,将焦点更改为页面上的某个其他元素。

脚本 :

function changeFocus() {
    if (document.activeElement == document.getElementsByTagName("iframe")[0]) {
        document.getElementById("YOUR_ID").focus();
    }
}

window.setInterval(changeFocus, 1000); // Set time accordingly
于 2013-11-02T07:50:22.337 回答
0

尝试keyup在 iframe 上进行绑定。

$(document, $("#idOfiFrame").contents()).on('keyup', null, function(event) {
        var stumblenext = $('#stumblenext');
        if (event.keyCode == 39) { top.location=stumblenext.attr('href'); }
        if (event.keyCode == 37) { history.back(); }
    });
于 2013-11-02T07:46:53.300 回答