在 CKEditor 中创建新段落时,前一段的属性(样式、类)会被复制到新段落中。有没有办法防止这种情况?
例如,如果我在一个居中的段落中写作,然后按 Enter 创建一个新段落,我的用户希望新段落是一个简单的
默认情况下没有“继承”以前的任何东西。
编辑
我设法让它(危险地未经测试)与 Reinmar 的技巧一起工作。这就是我的结论;我希望这对其他人有帮助。如果你们在这里看到明显的错误,请告诉我
CKEDITOR.on('instanceCreated', function(e) {
e.editor.on('key', function(evt) {
if (evt.data.keyCode === 13) {
// if we call getStartElement too soon, we get the wrong element
setTimeout(function () {
var se = e.editor.getSelection().getStartElement();
if(se.getName() == "span") {
var text = se.getText(); // Store text, we are about to nuke the spans
while (se.getName() == "span") { // possible infinite loop danger
se = se.getParent();
}
if (text.length == 0)
se.setHtml(" "); // It's important that this is not empty
else
se.setHtml(text);
}
debug(se.getHtml());
se.removeAttribute("class");
se.removeAttribute("mycustomattr");
se.removeAttribute("myothercustomattr");
window.bla = se; // useful for debugging
}, 10);
}
});
});