使用 jQuery 隐藏 TinyMCE
我在 #container
中有一个 TinyMCE 文本区域
当我使用 $('#container').hide()
和 $('#container') 时, 。 show(),tinyMCE 抛出:
无法读取未定义的属性“选择”
我正在使用jquery插件,所以这就是我的设置方式:
$('#container textarea').tinymce({ /* options */ });
我应该做些什么不同的事情?
I have a TinyMCE textarea inside of #container
When I use $('#container').hide()
and then $('#container').show()
, tinyMCE throws:
Cannot read property 'selection' of undefined
I'm using the jquery plugin, so this is how I set it up:
$('#container textarea').tinymce({ /* options */ });
What should I be doing differently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
此处使用的正确命令是
使其再次可见使用
The correct command to use here is
to make it visible again use
不要隐藏它,而是尝试将其发送到屏幕外 - 类似于:
编辑/更新:
您还可以尝试在 hide() 容器之前从文本区域中删除 TinyMCE,然后在 show() 后将其带回来。但你需要给你的文本区域一个#ID:
Instead of hiding it, try sending it off screen - something like:
EDIT/UPDATE:
You could also try removing TinyMCE from the textarea before you hide() the container, and then bring it back after you show(). But you'll need to give your textarea an #ID:
显然这是动画。如果我显示()/隐藏()我很好,但是当我尝试在tinyMCE中制作动画时,在完成动画后出现问题,一旦文本区域的显示不是无,可能会尝试设置选项。
Apparently it was the animation. if I show()/hide() I'm fine, but when I try to animate in tinyMCE has an issue after I finish animating, possibly trying to set options once the textarea's display isn't none.
这个问题是关于隐藏和显示tinymce编辑器,但如果有人来这里删除和重新添加tinymce编辑器而没有错误,那么我的解决方案可以为他们工作。
要删除现有的tinymce编辑器并添加新的需要清除tinymce.EditorManager.editors数组。此解决方案适用于两种情况: 1. 如果您只有一个编辑器并且您想要删除并再次添加它。 2. 如果您有多个编辑器,并且您想删除某些特殊编辑器并重新添加。
这将为您提供数组视图以及要删除的所需编辑器的确切索引。例如,上述控制台的一个示例输出可以是:
这是当我在文本区域上有两个tinymce编辑器时控制台的输出:#textarea-1和#textarea-2 假设我想删除#textarea-2并重新添加然后可以按如下方式完成:
然后您可以简单地使用 init 再次添加它:
如果您只有一个与tinymce编辑器关联的文本区域,可以说: #textarea-1 并且您想要删除和重新初始化它,然后您可以通过以下方式清空tinymce.EditorManager.editors:
然后您可以使用init命令添加,如上所述。为我工作没有任何错误。
希望有帮助
This question is about hiding and showing tinymce editor but if anyone came here about removing and re-adding tinymce editor without error then my solution can work for them.
To remove existing tinymce editor and add new needs clearance of tinymce.EditorManager.editors array. This solution works in both cases : 1. If you have only one editor and you want to remove and add it again. 2. If you have multiple editors and you want to remove some special editor and add it again.
This will give you a view of the array and exact index of you desired editor which you want to remove. For example one sample output of above console can be:
This is the output of the console when i have two tinymce editors on textareas : #textarea-1 and #textarea-2 Lets suppose I want to delete #textarea-2 and re-add it then it can be done as follows:
Then you can add it again simply using init:
If you have only one textarea associated with tinymce editor lets say : #textarea-1 and you want to remove and re-initialize it then you can just empty tinymce.EditorManager.editors by :
And then you can add using init command as explained above. Worked for me without any error.
I hope it helps