如何删除鼠标滚动时显示的 CKEditor 中的边框
How to remove the border in CKEditor shown on mouse scroll
我在使用 CKEditor 时遇到了一个有趣的问题,描述如下:
在 CKEditor 中,我创建标题、iframe 或插入图像。它在标题、iframe 或图片的内容周围创建一个 "BORDER"。
现在,我将鼠标滚轮上下滚出编辑区,"BORDER"仍然出现如下:
如何删除这个 "BORDER"?
请帮帮我。
提前致谢,
武
您看到的是 IE 原生功能。图像、浮动 div 等获得这些调整大小的边框。
IIRC 任何具有 hasLayout 属性 的元素都将获得这些调整大小的句柄。
在 IE 8-10 中,可以使用 - disableObjectResizing 阻止对象大小调整。
不幸的是,IE11 不提供任何解决此问题的句柄。这是 IE11 错误。有一个针对 IE11 的 hack 没有包含在核心代码中 - 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。在其他情况下,调整大小可能会被破坏。最好检查一下这个 hack 是否适用于所有人。
我在使用 CKEditor 时遇到了一个有趣的问题,描述如下:
在 CKEditor 中,我创建标题、iframe 或插入图像。它在标题、iframe 或图片的内容周围创建一个 "BORDER"。
现在,我将鼠标滚轮上下滚出编辑区,"BORDER"仍然出现如下:
如何删除这个 "BORDER"?
请帮帮我。
提前致谢, 武
您看到的是 IE 原生功能。图像、浮动 div 等获得这些调整大小的边框。 IIRC 任何具有 hasLayout 属性 的元素都将获得这些调整大小的句柄。
在 IE 8-10 中,可以使用 - disableObjectResizing 阻止对象大小调整。 不幸的是,IE11 不提供任何解决此问题的句柄。这是 IE11 错误。有一个针对 IE11 的 hack 没有包含在核心代码中 - 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。在其他情况下,调整大小可能会被破坏。最好检查一下这个 hack 是否适用于所有人。