TinyMCE编辑器无法读取textarea的data-hidden属性如何解决
问题原因
你调用tinymce.DOM.getAttrib(ed,"data-hidden")时,第一个参数ed是TinyMCE编辑器实例对象,不是绑定的原生textarea DOM节点,所以无法读取到挂载在textarea上的自定义属性,并非TinyMCE忽略了该属性。
解决方法
直接通过编辑器实例的getElement()方法获取原始textarea DOM元素,再读取对应的属性即可,不需要修改TinyMCE的初始化配置,修改你的setup回调逻辑即可:
setup : function (ed) { ed.on('click', function () { const new_value = tinymce.activeEditor.getContent() alert(new_value); const processed_value = new_value.replace(/,/g, "☀"); // 核心修改:先获取原始textarea元素,再读属性 const textareaEl = ed.getElement(); const hidden_Field = textareaEl.getAttribute("data-hidden"); alert(hidden_Field); $("#" + hidden_Field).val(processed_value); }); }
如果你后续需要在编辑器编辑的内容里保留自定义属性,才需要在初始化配置中新增extended_valid_elements规则配置允许对应属性,当前读取原始textarea属性的场景不需要额外配置。
内容的提问来源于stack exchange,提问作者Pamela Whittaker
相关产品推荐
相关产品推荐

