首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExecCommand不断线

ExecCommand不断线
EN

Stack Overflow用户
提问于 2014-01-09 20:09:10
回答 2查看 688关注 0票数 1

使用基于selection / key command的WYSIWYG编辑器。效果很好除了..。

与所有其他的关键命令,它切换特定的风格I,打击等开关。

使用execCommand('bold'),它不会取消文本的粗体。这很令人沮丧。每个浏览器都是一样的。

这是密码。

代码语言:javascript
复制
$('body').on('keydown', '.element_content, .element_content_subhead', function(e) { 

if(e.ctrlKey){

        //bold -- key 'B'
        if(e.which == 66){
            $sel = $.trim(document.getSelection().toString());
            if($sel == ''){
                alert('Please select some text to bold');
            }
            else{
                document.execCommand('bold', false, null);
            }
        }
       }

});
EN

回答 2

Stack Overflow用户

发布于 2014-01-10 04:45:45

这是我的答案。

因为我使用的是一种非标准字体(ClanWeb),所以b的粗体类型在浏览器中不能很好地工作。所以在我的CSS中,我有b{字体族:ClanWeb-粗体;字体重:普通!重要;}

这对于粗体类型来说很好,但是如果标签没有正常的行为,execCommand就不会触发;在CSS中没有字体大小:粗体。

所以这是我的密码来解开它。

代码语言:javascript
复制
  //bold -- key 'B'
    if(e.which == 66){
        $sel = $.trim(document.getSelection().toString());

        var parentEle = window.getSelection().getRangeAt(0).commonAncestorContainer;
        parentEle = parentEle.parentNode;


        if($sel == ''){
            alert('Please select some text to bold');
        }
        else if(parentEle.tagName == 'B'){
            parentEle.id='unbold1'; 
            $('#unbold1').contents().unwrap();
        }
        else{
            document.execCommand('bold', false, null);
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2016-07-22 09:25:22

在我的例子中,问题出现在“字体:继承”引导样式中。摘要:如果你在使用document.execComand时遇到“un头”或“unitalic”的问题,试着删除所有的css样式并检查您的编辑器--在此之后,它应该可以正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21030120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档