javascript - CKEditor Plugin - allowedContent 可以应用于层次结构更深的元素,还是可以在某些元素上禁用 MagicLine?
问题描述
我正在编写一个基于CKEditor Accordion Module的 drupal 模块,但使用的是 Bootstrap 4。插件插入的 HTML 如下所示:
<section class="accordion" id="Accordion1">
<div class="card">
<div class="card-header" id="heading1">
<h2><button aria-controls="collapse1" aria-expanded="false" class="btn btn-link"
data-target="#collapse1" data-toggle="collapse" type="button">Collapsible Item Heading</button>
</h2>
</div>
<div aria-labelledby="heading1" class="collapse" data-parent="#Accordion1" id="collapse1">
<div class="card-body">
<p>Collapsed Text</p>
</div>
</div>
</div>
</section>
问题是当用户将鼠标悬停在 ) 的子元素上时会出现magicLine<div class="card">
。有没有办法只为这些元素禁用魔术线,或者以一种也会影响层次结构中的子元素的方式应用 allowedContent 属性?下面的 javascript 显示了我如何使用 allowedContent,但它似乎只适用于外部<section>
及其直接子项<div class="card">
。.card div 的任何子项似乎都允许在其中添加任何类型的内容。
(function() {
'use strict';
// Register plugin.
CKEDITOR.plugins.add('bscollapse', {
hidpi: true,
icons: 'bscollapse',
init: function(editor) {
...
...
//elements [attributes]{styles}(classes)
var allowedContent = 'section[id](!accordion); div(!card)';
// Command to insert initial structure.
editor.addCommand('addBSCollapseCmd', {
allowedContent: allowedContent,
...
...
解决方案
回答我自己的问题:
可以使用以下代码禁用魔术线插件 - 我的插件称为 ckeditor_bscollapse。
ckeditor_bscollapse.libraries.yml
bscollapse_style:
version: 1.x
css:
theme:
css/ckeditor-bscollapse.css: {}
js:
js/ckeditor-bscollapse.js: {}
dependencies:
- core/jquery
- core/jquery.once
- core/drupal
js/ckeditor-bscollapse.js:
/**
* @file
* CKEditor BSCollapse functionality.
*/
(function($, Drupal, drupalSettings) {
'use strict';
Drupal.behaviors.ckeditorBSCollapse = {
attach: function(context, settings) {
CKEDITOR.config.removePlugins = 'magicline';
}
};
})(jQuery, Drupal, drupalSettings);
推荐阅读
- java - 如何将所有图像从 ArrayList 设置为 imageViews
- c# - 在 C# 中将嵌套的 foreach 转换为 Linq
- python - 无法使用 Python 获取跨度文本
- sql-server - SQL查询以获取第一条相关记录不匹配的记录
- python-2.7 - 将 PyQt 对话框移动到选项卡
- arm - 通过 M0+ 上的 SWD 进行芯片擦除
- node.js - NodeJS:从 sftp 服务器读取 csv 文件并将其转换为 JSON
- amazon-lex - 时隙话语优先于意图话语
- android - 当用户点击标记(谷歌地图)时如何添加点击监听器并应该显示底部表?
- java - 在 JavaFX 画布上调整图像大小或旋转图像