插入各地NicEdit所选文本的HTML标签(Insert html tags around sel

2019-10-30 06:29发布

我在寻找一种方式插入左右标志着NicEdit文本的HTML标签,这样我就可以,例如,缩进文本,使其绿色。

我想通过插入周围的标记文本<pre>标记与CSS类我的选择要做到这一点(它的文本格式化,使得绿等)。

如下为我的按钮看起来代码:

var customButtonOptions = {
buttons : {
    'code' : {name : __('Mark text as code'), 
                type : 'nicEditorCodeButton'}} , 
                iconFiles : {'code' : '../save.gif'}

                };


var nicEditorCodeButton = nicEditorButton.extend({
mouseClick : function() {

    alert('The code button has been clicked ');
}
});

nicEditors.registerPlugin(nicPlugin,customButtonOptions);

目前,我只有在功能的警报,以确保它的工作原理,但我需要与周围的地方目前我已标记的文本<pre>标记的功能帮助。 所以,不是所有的文本textarea的。

或者至少把标记文本到一个变量的一种方式。

Answer 1:

该解决方案适用于我,要设置明显的文字代码。 我希望它会为你工作。

if(cmd=='code'){
        if(document.getSelection().anchorNode.data)
        {
            var a = document.getSelection().anchorOffset;
            var b = document.getSelection().focusOffset;
            var str = document.getSelection().anchorNode.data.substring(a,b);
        }
        else str = 'insert code';
        var str1 = '<div class="code">'+str+'</div>';
        function replaceSelectedText(replacementText) {
            var sel, range;
            if (window.getSelection) {
                sel = window.getSelection();
                if (sel.rangeCount) {
                    range = sel.getRangeAt(0);
                    range.deleteContents();
                    document.execCommand('insertHTML',false,replacementText);
                }
            }
        }
        replaceSelectedText(str1);
}


文章来源: Insert html tags around selected text in NicEdit