tinymce用鼠标选择html节点

时间:2017-09-22 13:29:41

标签: javascript html iframe tinymce tinymce-4

我有一个tinyMCE编辑器,我想在javascript中获取所选单词的整个节点(通过鼠标)。我只需点击编辑器末尾的标签即可得到:

tinyMCE demo

所以,当我点击from path.to.file.SomeApi import SomeApi class MyTests(unittest.TestCase): def import_test(): dyn_loaded_module = importlib.import_module("Path.to.file.SomeApi", "SomeApi") dyn_loaded_class = getattr(dyn_loaded_module, "SomeApi") dyn_loaded_api = dyn_loaded_class() # Create an instance of the dynamically imported class. manual_import_api = SomeApi() # Create an instance of the manually loaded class. assert isinstance(manual_import_api, SomeApi) # This returns True as expected. assert isinstance(dyn_loaded_api, SomeApi) # This returns False, I am not sure why. 按钮时,我可以看到我的文字被选中,当我运行这个javascipt行时,我得到了我想要的东西:

span

结果:

console.log("output : " + tinymce.activeEditor.selection.getContent({format : 'html'}));

但是当我用鼠标指针选择文本后运行相同的javascript行时,我得到以下结果:

output : <span style="color: #00ff00;">EAM</span>

您是否知道如何通过鼠标选择文本时获得EAM 格式? 感谢

1 个答案:

答案 0 :(得分:0)

也许editor.selection.getNode()

https://www.tinymce.com/docs/api/tinymce.dom/tinymce.dom.selection/#getnode

或者如果您需要html作为字符串:

let node = editor.selection.getNode();
let tmp = document.createElement("div");
tmp.appendChild(node);
let html = tmp.innerHTML;