限制 IFrame 中的输入按键事件不起作用

发布于 2024-08-06 12:33:00 字数 803 浏览 4 评论 0原文

我的页面中有一个 IFrame,并在此 iframe 上使用 designMode="on" 进行小级别的富文本编辑。

我担心的是,我不需要允许用户在其中输入新行 - 这意味着我想限制回车键。

我使用此处发布的问题来监听按键事件。但在我的按键事件中,如果我返回 false,则什么也不会发生。

如何使用设计模式限制 Iframe 中的 Enter 键?

代码 :

      document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true);

            function restrictEnterKey(event) {
                var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0));
                if (key == 13) {
                    //alert('me');
                    return false;
                }
                return true;
            }

I have an IFrame within my page and am using the designMode="on" on this iframe for a small-level rich text editing.

My concern is that I need not allow the user to enter new lines in it - meaning, I want to restrict enter keys.

I did it using the question posted here to listen to the keypress events. But in my keypress event, if I return false, nothing happens.

How do I restrict enter keys in Iframe with designmode?

Code :

      document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true);

            function restrictEnterKey(event) {
                var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0));
                if (key == 13) {
                    //alert('me');
                    return false;
                }
                return true;
            }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美羊羊 2024-08-13 12:33:00

您需要对事件调用 preventDefault 或将 IE 的 returnValue 设置为 false。以下函数将完成这项工作:

function preventDefault(evt) {
    if (evt.preventDefault) {
        evt.preventDefault();
    } else if (typeof evt.returnValue !== "undefined") {
        evt.returnValue = false;
    }
}

You need to call preventDefault on the event or set returnValue to false for IE. The following function will do the job:

function preventDefault(evt) {
    if (evt.preventDefault) {
        evt.preventDefault();
    } else if (typeof evt.returnValue !== "undefined") {
        evt.returnValue = false;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文