有关此错误的任何建议或解决方法?
http://dev.ckeditor.com/ticket/6436
我真的需要解决这个bug,因为我需要在CKEditor的编辑器区域中用一个退格删除整个div。但在插入divs嵌套由于错误。所以,删除个人divs变得不可能。ckeditor bug嵌套divs bug的解决方法?
1
A
回答
1
这里是解决办法,我终于designed-- http://thecamelcase.com/2011/06/reining-in-the-cursor-in-ckeditor/
1
我遇到同样的问题,不幸的是链接到由ghostCoder所做的修复不再可用。
除了嵌套的div问题,我们已经强制粘贴为纯文本(所以数据被粘贴为纯文本,除非使用“粘贴从单词”),我们正在使用div作为我们的enterMode。在粘贴的数据行中,中断被替换为< br/>标签,而我们希望每行都是元素内的包装。
这是我们最终解决问题的方法。您应该知道我们没有更改autoParagraph config option,因此它默认为true,我不建议在配置级别禁用它。我会尝试对此解决方案进行编码评论,以便您了解这里实际完成的内容。
config.on.instanceReady = function(e) {
var enterMode = e.editor.config.enterMode, elem = 'div';
if(enterMode === CKEDITOR.ENTER_P) {
elem = 'p';
}
// We didn't encounter any issues when using br as enterMode so
// continue only if enterMode is div or p element
if(enterMode === CKEDITOR.ENTER_DIV || enterMode === CKEDITOR.ENTER_P) {
// Disable autoParagraph in initialization to avoid nested div issue.
// When autoParagraph is manipulated this way it will still be active
// later on so if you write some inline content in source mode it
// will be properly wrapped inside <p> or <div> element.
e.editor.config.autoParagraph = false;
// Handle paste event to get rid of <br /> line breaks issue
e.editor.on('paste', function(evt) {
var data = '';
// Stop event, handle everything here manually
evt.stop();
// Get data either from event's text or html property
if(evt.data.text) {
// Remove HTML markup from pasted data
data = evt.data.text.replace(/(<([^>]+)>)/ig, '');
// Replace all line breaks with </div><div> or </p><p> markup
// And wrap the whole content inside <div> or <p> element
data = '<' + elem + '>'
+ data.replace(/\r\n|\r|\n/g, '</' + elem + '><' + elem + '>')
+ '</' + elem + '>';
} else {
// If data was not pasted as plain text just
// get data as is from event's html property
data = evt.data.html;
}
// Insert HTML data to editor
evt.editor.insertHtml(data);
// Fire afterPaste manually as we have stopped the event
// and afterPaste wouldn't get triggered otherwise
evt.editor.fire('afterPaste');
}, e.editor.element.$);
}
};
相关问题
- 1. Object.assign bug解决方法
- 2. 关于Runc的bug的解决方法
- 3. tinymce的解决方法utf8 bug
- 4. Mono的解决方法PrivateFontCollection.AddFontFile bug
- 5. 解决Mathematica Notation bug的方法?
- 6. 解决WPF Freezable bug的方法?
- 7. Shellshock Bash bug预加载解决方法
- 8. IMAP Php bug - 解决方法是什么?
- 9. 是否有解决maven-javadoc-plugin bug MJAVADOC-414的解决方法?
- 10. Hibernate的bug,如何解决?
- 11. 解决Zend日期DST Bug
- 12. 解决不同版本的Python bug
- 13. 解决的bug在javascript - 标签功能
- 14. AngularJS:需要解决空阵列的bug
- 15. Aquamacs 2.4 - WordWrap/Visual Line Mode - bug解决方法?
- 16. Cython:嵌套式typedefs的解决方法
- 17. PHP 7 SSH2.SFTP stat()bug解决
- 18. 我该如何解决python-social-auth Bug?
- 19. 如何解决GWT CellTree消失(bug)?
- 20. 如何解决IE 7的bug(Windows调整与GWT应用程序的bug)
- 21. 解决方法嵌套while - >获取
- 22. SQLiteDatabase嵌套事务和解决方法
- 23. JAVA 8u77类加载器的bug - 寻找一个解决办法
- 24. 方框代替字母 - asp.net bug,如何解决?
- 25. FireFox嵌入框 - 影子bug
- 26. 使用JQuery删除浏览器重绘Bug的解决方法DeleteClass
- 27. 的Bug
- 28. 定位嵌套divs
- 29. 简单的嵌套XSLT解决方案
- 30. 数独求解器bug