即使在拖动所选文本时,getContent也会触发

时间:2016-11-22 13:02:11

标签: tinymce

我在html中有这个回调:

editor.on('getContent', function(e) {
    if ((typeof(obj) !== 'undefined') && (obj !== null)){
        obj.onGetContentEventHandler(e.content);
    }
});

当我在编辑器中选择一些文本并将所选部分拖动一段距离时(不必将其拖放到文本中,一旦开始拖动就会触发实际事件),TinyMce将触发{ {1}} - !事件

现在,正如您在上面的代码片段中所看到的,我有一个回调我的应用程序,它将使编辑器文本与应用程序同步。 所以,如果你选择“你好'从文本'你好'并拖动它(放弃它的位置并不重要),应用程序会认为TinyMce中的文本是“你好”。现在,当它实际上仍然是“你好那里!”

这是一个错误吗?

我真的想知道如何:

  1. getContent中检查"这是拖动的选定文字" -event,然后跳过它。或.....
  2. 停止editor.on('getContent'...触发拖动所选文字。
  3. 我该怎么做?

    在这里codepen您可以自己试试! 。   - 如果已经没有启动,请打开codepen控制台。   - 选择文本的某些部分,例如"是一个te"或者其他的东西。   - 在控制台中,您现在将看到getContent事件已使用所选文本触发。

1 个答案:

答案 0 :(得分:0)

我找到了它!

e.selection包含一个布尔值,如果事件是选择,则为true。

其余的很容易......

editor.on('getContent', function(e) {
    if ((typeof(obj) !== 'undefined') && (obj !== null) && !e.selection){
        obj.onGetContentEventHandler(e.content);
    }
});