tinymce只读模式事件未触发

tinymce只读模式事件未触发,tinymce,wysiwyg,Tinymce,Wysiwyg,我需要同时显示源代码编辑器和所见即所得编辑器,如tinymce。其想法是,用户应该单击wysiwg编辑器中的任何元素,相应的元素应该在源代码编辑器中突出显示 到目前为止,我已经能够使用onnodechange事件在tinymce中获得所选节点 setup: function(ed) { ed.on('NodeChange', function(e){ console.log(e.element); });

我需要同时显示源代码编辑器和所见即所得编辑器,如tinymce。其想法是,用户应该单击wysiwg编辑器中的任何元素,相应的元素应该在源代码编辑器中突出显示

到目前为止,我已经能够使用onnodechange事件在tinymce中获得所选节点

setup: function(ed) {
            ed.on('NodeChange', function(e){
                console.log(e.element);
            });
        }

但是,当编辑器处于只读模式时,不会触发该事件。你知道为什么会发生这种情况,或者你能给我一个解决这个问题的方法吗?

我找到了一个解决办法,添加了以下内部设置回调

//prevent user to edit content inside tinymce
    ed.on('PostRender', function(e){
        ed.getBody().setAttribute('contenteditable', false);
    });

    ed.on('KeyPress', function(e){
        e.preventDefault();
        e.stopPropagation();
    });

它不是完美的,但至少,它做到了;)

我也遇到了类似的问题,但我们需要拦截click事件,而不是“NodeChange”

我通过直接在tinymce iframe的body元素上添加事件处理程序并使用事件目标来解决这个问题

bodyEl.addEventListener('click', function(e) {
  console.log('Hello ', e.target);
}, false)
如果需要检测选择更改,可以使用“选择”事件