TinyMCE4-自定义表情符号插件上的锚点链接返回null

时间:2019-09-15 18:51:29

标签: javascript html tinymce tinymce-4

我正在为TinyMCE4开发定制的Emoji插件-单击工具栏上的emoji图标时,插件窗口中会出现很大一部分HTML。顶部是粘性div,其中包含指向HTML块下方的锚点的链接。

这是棍子div:

<div id='thing_to_stick'>
    <a href='#smileyspeople'>?</a>
    <a href='#animalsnature'>?</a>
    <a href='#fooddrink'>?</a>
    <a href='#activity'>⚽</a>
    <a href='#travelplaces'>?</a>
    <a href='#objects'>?</a>
    <a href='#symbols'>?</a>
    <a href='#flags'>?</a>
</div>

然后在HTML的更下方,例如:

<table style='background:white;' role='list' border='0' class='mce-grid'>
    <tr>
        <td style='color:#000; background: yellow; font-family: Arial, Helvetica, sans-serif; border-bottom:1px solid #ccc;' colspan='5'>
            <span id='smileyspeople'>Smileys & People</span>
        </td>
    </tr>

This is a working JSFiddle demo of the plugin

如果单击表情符号,则它将HTML块插入TinyMCE内容窗口。

但是-在点击锚链接时也会这样做-因此不要下拉至例如#objects的{​​{1}} ID块,它将插入此HTML

HTML

The JS for the plugin is here

我认为发生这种情况的原因是因为插件中的JS包含以下内容:

<p><img title="null" src="null" alt="null" width="64" height="64" /></p>

我认为这意味着onclick: function(b) { var c = a.dom.getParent(b.target, "a"); c && (a.insertContent('<img alt="' + c.getAttribute("data-mce-title") + '" title="' + c.getAttribute("data-mce-title") + '" src="' + c.getAttribute("data-mce-url") + '" width="64" height="64" />'), this.hide()) } 块中的每个超链接都将以相同的方式对待...

我遇到的麻烦是,虽然我可以查看导致此问题的原因,但我想知道是否有解决方法,因此HTML中的链接被视为普通链接,而其他所有链接链接由JS代码提取。

尽管我找不到在插件中使用它的方法,但是我无法使用div#thing_to_stick

0 个答案:

没有答案