在设计模式下在iframe上按下了哪个键

时间:2010-10-18 18:36:19

标签: javascript jquery

 <script type="text/javascript">
    $(function() {
        $("#resizable").resizable().draggable();
        $('#resizable').append('<iframe id="rte" width="100%" height="100%" ></iframe>');

        myeditor = document.getElementById("rte").contentWindow.document;
        myeditor.designMode = "on";

        $('#rte').bind('keypress', function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            alert(code);
            return false;
        });
    });
 </script>

在上面的脚本中,我创建一个iframe并将其设置为设计模式。现在我需要知道按下哪些键,所以我将一个按键事件绑定到iframe。但那不起作用:( 有办法吗?

2 个答案:

答案 0 :(得分:0)

为了避免浏览器安全问题,请尝试将iframe src设为真实(但空白)页面,并在iframe页面中执行keypress代码,但让函数调用其父级。

答案 1 :(得分:0)

您可以使用contents()访问iframe文档,jQuery还可以规范化which事件的keypress属性,因此无需检查keyCode属性:

$('#rte').contents().keypress(function(e) {
    alert(e.which);
    return false;
});