Chrome execCommand 返回错误

发布于 2024-12-08 14:51:42 字数 442 浏览 0 评论 0 原文

如何在 Chrome 中使用 execCommand()?这是我现在的代码 它用于在点击选项卡按钮时插入特殊字符

function editAble(supr){
    document.getElementById('codeline').contentEditable='true';
    document.getElementById('codeline').onkeydown=function(e)
        {

        if(e.keyCode==9){
            e.preventDefault();
            range1 = document.getElementById('codeline');
            range1.execCommand("InsertHtml",false,"p");

        }
    }
}

How do I use the execCommand() in Chrome? Here is the code I have right now
It is being used to insert a special character when hitting the tab button

function editAble(supr){
    document.getElementById('codeline').contentEditable='true';
    document.getElementById('codeline').onkeydown=function(e)
        {

        if(e.keyCode==9){
            e.preventDefault();
            range1 = document.getElementById('codeline');
            range1.execCommand("InsertHtml",false,"p");

        }
    }
}

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

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

发布评论

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

评论(1

故人爱我别走 2024-12-15 14:51:42

execCommand() 方法是 Document 对象的方法,而不是元素的方法。 IE 还提供 execCommand() 作为其 TextRangeControlRange 对象的方法,但这些在其他浏览器中不存在。

document.execCommand("InsertHtml", false, "p");

您可能需要考虑如果用户在之前选择了某些文本时按下 Tab 键会发生什么:在这种情况下,您可能需要 在插入制表符之前删除所选内容

The execCommand() method is a method of Document objects, not elements. IE also provides execCommand() as a method of its TextRange and ControlRange objects, but these are not present in other browsers.

document.execCommand("InsertHtml", false, "p");

You may want to consider what happens if the user presses the Tab key when the user has previously selected some text: in that case you'd probably want to delete the contents of the selection before inserting your tab character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文