我正在寻找一种方法来添加<代码>使用nicEdit标记选定文本周围的标签。以及在再次选择文本时删除这些标记。
这样做的原因是我希望用户能够将textarea中的文本标记为代码,或者我可能想要的任何其他标记。
我需要能够标记几行,并且我需要将所选文本的html格式化保持为相同或不标记为代码。你开玩笑了。
我尝试过这个功能:
customButtonOptions = {
buttons : {
'code' : {name : __('Mark text as code'), type : 'nicEditorCodeButton'}},
iconFiles : {'code' : '../code.gif'}
};
nicEditorCodeButton = nicEditorButton.extend({
mouseClick : function() {
var dataValue = 'code';
document.execCommand('formatBlock', false, '<'+dataValue+'>');
selectedElement = window.getSelection().focusNode.parentNode;
selectedElement.className = "codePrint";
}
});
nicEditors.registerPlugin(nicPlugin,customButtonOptions);
但对于代码或span标签(我也需要),它不起作用(仅一行)。它确实适用于预标签,但这对我没有帮助。
它也不是设置类的最佳选择,因为它取决于父节点,如果我可以添加它会更容易:
Normal text in the textarea
<code class="codePrint"> selected text </code> (ofc this part should be html and actually render)
Rest of the text in the text area
我也尝试过selectionStart,selectionEnd,但这些只返回undefined,我无法解决它。
有没有人可以帮助我?我变得非常绝望,我搜索整个网络(好吧,也许不是)找到答案,但我不能:s
聚苯乙烯。只需要适用于较新的浏览器