我对CKEditor有一个有趣的麻烦,它的描述如下:
在CKEditor中,我创建标题,iframe或插入图像。它创造了一个" BORDER"围绕标题,iframe或图像的内容。
现在,我将鼠标滚轮向上或向下滚出编辑区域," BORDER"仍然如下所示:
我如何删除这个" BORDER"?
请帮帮我。
提前感谢, VU
答案 0 :(得分:1)
您所看到的是IE原生功能。图像,浮动的div等获得这些调整大小的边框。 IIRC具有hasLayout属性的任何元素都将获得这些调整大小句柄。
在IE 8-10中,可以使用 - disableObjectResizing来阻止对象大小调整。 不幸的是,IE11没有提供任何句柄来解决这个问题。这是IE11的错误。 IE11有一个黑客入侵核心代码 - https://dev.ckeditor.com/ticket/9317#comment:16。
根据用于创建CKEditor的方法,此hack可以例如如下实现: 如果使用经典编辑器和替换方法 -
var editor = CKEDITOR.replace( 'editor1', {});
editor.on( 'pluginsLoaded', function( evt ){
editor.on( 'contentDom', function( e ){
var editable = editor.editable(),
element = editable.$;
if ( element.addEventListener ) {
// IE up to 10.
element.addEventListener( 'mscontrolselect', function( evt ) {
evt.preventDefault();
} );
} else {
// IE11 and higher.
element.attachEvent( 'oncontrolselect', function( evt ) {
evt.returnValue = false;
} );
}
});
});
如果自动创建经典或内联编辑器 -
CKEDITOR.on( 'instanceCreated', function( event ) {
var editor = event.editor;
editor.on( 'contentDom', function( e ){
var editable = editor.editable(),
element = editable.$;
if ( element.addEventListener ) {
// IE up to 10.
element.addEventListener( 'mscontrolselect', function( evt ) {
evt.preventDefault();
} );
} else {
// IE11 and higher.
element.attachEvent( 'oncontrolselect', function( evt ) {
evt.returnValue = false;
} );
}
});
});
注意:请同时查看https://dev.ckeditor.com/ticket/9317#comment:26。还有其他情况可能会破坏调整大小。最好检查一下这个黑客是否适用于所有这些黑客。