TinyMCE 源代码插件删除锚标签之间的文本

问题描述 投票:0回答:2

我需要用文本创建一个锚标记链接...所以当我编辑源代码并输入类似

的内容时
<a id="downloadButton" data-document="javascript:void(0);" class="btn btn-default btn-lg">Download Brochure</a>

它会自动将其更改为

<a id="downloadButton" data-document="javascript:void(0);" class="btn btn-default btn-lg"></a>Download Brochure

如果我删除 ID,它会起作用,但我不能这样做,因为我需要那个 ID,另一种解决方案是添加

href="#downloadButton"
,但我想在没有它的情况下这样做

我补充了

valid_children: "+a[div | i | span | img | p | ul | ol | li | h1 | h2 | h3 | h4 | h5 | h5 | h6 | #text]",

tinymce.init
部分,但这根本没有帮助。

有没有办法解决这个问题,还是我需要添加

href
属性?

javascript tinymce
2个回答
0
投票

TinyMCE 将没有

href
的锚点视为书签,并且不允许在锚点标签内包含文本。这是 TinyMCE 中的内部解析器管理的内容,因此无法解决此问题。


0
投票

我试过类似的东西但是没有用,最后,我这样做了:

<h2><a id="HTML" class="h2 text-light" href="#">HTML</a></h2>

然后是javascript:

document.querySelectorAll('a').forEach(function(anchor) {
  if (anchor.getAttribute('href') === "#"){
    anchor.style.pointerEvents = "none";
    anchor.style.textDecoration = "none";
    anchor.addEventListener('click', function(event) {
      event.preventDefault();
    });
  };
});

这样 TinyMCE 让我保存页面而不从锚标记移动文本+文本看起来像往常一样(没有下划线)+当我点击它时什么也不会发生。

© www.soinside.com 2019 - 2024. All rights reserved.