我想有一个按钮来包装所有标签的内容。
我的代码:
editor.addButton('MobileToggleArea', {
text: '<M>',
icon: false,
onclick: function (){
editor.selection.setContent('<div class="mobile-hide">' + editor.selection.getContent({format: 'raw'}) + '</div><div class="mobil-mehr">mehr</div>');
}
});
示例:
<p>test</p>
<p>test</p>
结果:
<p> </p>
<div class="mobile-hide">
<p>test</p>
<p>test</p>
<div class="mobil-mehr">mehr</div>
<p> </p>
问题:它添加了额外的p
标签,为什么?如何预防?
其他问题(但不是很糟糕)是当仅选择一个p
标记时:
<div class="mobile-hide">test</div>
<div class="mobil-mehr">mehr</div>
p
标签已经消失了。
插件: char字数统计自动保存charmap代码全屏图像导入char链接列表粘贴搜索替换table焦点表模板可视化块锚点hr不间断文本颜色选择器
谢谢你的帮助。
发布于 2017-09-25 19:05:29
我用Jquery解决了这两个问题:
editor.addButton('MobileToggleArea', {
text: '<M>',
icon: false,
onclick: function (){
editor.selection.setContent('<div class="mobile-hide">' + editor.selection.getContent({format: 'raw'}) + '</div><div class="mobil-mehr">mehr</div>');
jQuery(editor.getBody()).find('.mobile-hide').prev().remove('p');
jQuery(editor.getBody()).find('.mobile-hide').next().next().remove('p');
jQuery(editor.getBody()).find('.mobile-hide').each(function(){
if(!jQuery(this).find('*').length){
jQuery(this).wrapInner('<p></p>');
}
});
}
});
开放以获得更好的解决方案=)
https://stackoverflow.com/questions/46324915
复制相似问题