【发布时间】:2017-09-03 09:19:27
【问题描述】:
我有一个通过 react-tinymce 使用 TinyMce 的 Meteor React 应用程序(按照 https://www.tinymce.com/docs/integrations/react/ 的说明)
我有一个带有 TinyMCE 的表单组件,它从有序列表中调用以允许用户添加 cmets。它按预期工作,但以下情况除外:
- 使用 iPad 或 iPhone 时(在台式机和 Android 移动设备上运行良好)。
- 表单的第一个实例按预期工作,但是在随后尝试添加 cmets 时,光标不会显示在 TinyMCE 中,并且用户无法输入他们的 cmets。
- 如果没有外部键盘,打开表单时会弹出键盘 - 我发现手动关闭键盘,然后再次点击 textarea 即可。
- 使用外部键盘(在 iPad 上),点击菜单栏中的链接(我使用的是链接插件),然后将其关闭并再次点击 textarea 即可。
我附上了代码来展示 TinyMCE 是如何启动(和删除)的,以及它是如何在表单中调用的。
任何关于我可以尝试如何使其在 iPad/iPhone 上正常工作的建议将不胜感激。
componentDidMount() {
tinymce.remove();
tinymce.init({
selector: '.addComments,
plugins: "autoresize link paste",
paste_as_text: true,
autoresize_bottom_margin: 10,
relative_urls: false,
link_title: false,
default_link_target: "_blank",
height: 200,
autoresize_max_height: 200,
toolbar: 'underline italic numlist link',
menubar: '',
skin: "lightgray",
statusbar: false,
content_css : '/css/content.css'
});
}
componentWillUnmount() {
tinymce.remove();
}
并呈现如下:
<div className="AddComments" id={`background${this.props.meetingId}`} onChange={this.handleEditorChange}></div>
【问题讨论】:
标签: iphone reactjs ipad meteor tinymce-4