javascript - 按键时无法从 iframe 失去焦点

标签 javascript jquery iframe keyboard key-events

我的 html 页面中有一个 iframe。 我在我的 html 文档中附加了关键事件。

当我按下“a”或“z”时,我可以执行类似 addClass 或 removeClass 的操作。

所以在那个 block 中,当我尝试将焦点添加到 iframe 时,它​​被添加了。但是对于关键事件,我不能失去焦点(模糊)iframe。

示例代码如下:

    switch (myKey) {
        case 'a':
            $('div').append("<p>a pressed</p>");
            $("iframe").addClass("thick");
            $("iframe").focus();
            break;
        case 'z':
            $('div').append("<p>z pressed</p>");
            $("iframe").removeClass("thick");
            $("iframe").blur();
            break;
        default:
            //console.log('keycode', keycode);
    }

谁能帮帮我,告诉我哪里错了?

fiddle - http://jsfiddle.net/hgXyq/70/

最佳答案

您正在更改事件 DOM。您需要添加额外的代码以使其也适用于 iframe(或返回文档)。只是我添加了这一行,它对我有用。但是,您可以将其更改为其他内容以返回文档。

...
$(document).on('keydown keyup keypress', documentKeys);
$('iframe').on('keydown keyup keypress', documentKeys); //This line was added

关于javascript - 按键时无法从 iframe 失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908652/

相关文章:

javascript - 如何防止指针在 HTML 中通过?

java - Android - 将值从 HTML 或 Javascript 传递到 Java 的最简单方法?

php - laravel 5.3 中未定义路由 [ payment-data ]

javascript - 循环 css 背景

javascript - 如何选择焦点文本区域中的所有文本(在 Safari 中)

html - 使 iframe 适合容器剩余高度的 100%

javascript - 跨域获取 iframe 中元素的 CSS 属性

javascript - 我真的可以用 javascript 调整图像大小吗?

javascript - 通过javascript更改iframe src时,整个页面刷新

javascript - Gulp 有 2 个相互冲突的任务