在NicEdit中的选定文本周围插入html标签

时间:2014-05-28 10:41:26

标签: javascript html insert tags nicedit

我正在寻找一种在NicEdit中标记的文本周围插入HTML标记的方法,以便我可以缩进文本并使其变为绿色。

我想通过插入<前>使用我选择的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);

目前我只在函数中有一个警告以确保它有效,但我需要一个放置<的函数的帮助。前>我目前标记的文字周围的标签。所以不是textarea中的所有文本。

或者至少是将标记文本放入变量的方法。

1 个答案:

答案 0 :(得分:0)

此解决方案适用于我,将标记文本设置为代码。 我希望它对你有用。

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);
}