TinyMCE 4.x调整大小事件

TinyMCE 4.x调整大小事件,tinymce,tinymce-4,Tinymce,Tinymce 4,我一直在四处搜索(无论是在SO上还是在网络上),试图找出在用户调整大小后如何获得编辑器的当前高度。TinyMCE 4.x文档不显示任何类型的调整大小事件。在四处搜索时,我确实遇到了ResizeEditor事件,但这似乎只有在编辑器中的对象被调整大小时才适用(这使它看起来像是一个名称不正确的事件)。尽管如此,我还是试着去听ResizeEditor事件,只是为了看一看,每当我调整编辑器的大小时,它都会触发(不过,我不确定这是因为实际编辑器正在调整大小,还是因为编辑器中的元素也在调整大小。在任何情况下

我一直在四处搜索(无论是在SO上还是在网络上),试图找出在用户调整大小后如何获得编辑器的当前高度。TinyMCE 4.x文档不显示任何类型的调整大小事件。在四处搜索时,我确实遇到了
ResizeEditor
事件,但这似乎只有在编辑器中的对象被调整大小时才适用(这使它看起来像是一个名称不正确的事件)。尽管如此,我还是试着去听ResizeEditor事件,只是为了看一看,每当我调整编辑器的大小时,它都会触发(不过,我不确定这是因为实际编辑器正在调整大小,还是因为编辑器中的元素也在调整大小。在任何情况下,只有事件对象作为参数传递给侦听器,我看不到任何方法可以从该事件获取编辑器的当前高度(调整大小后)

那么,有什么方法可以做到这一点吗?听编辑器调整大小并获取其高度

thnx,

Christoph

您应该能够使用如下代码获得编辑器的整个高度(菜单、工具栏、状态栏、内容区等):

tinyMCE.activeEditor.getContainer().clientHeight
tinyMCE.activeEditor.getContainer().clientWidth
当您调用
tinyMCE.activeEditor.getContainer()
时,您将得到最外层的
div
,它包含构成tinyMCE的所有元素。从那里开始,只需使用标准JavaScript即可获得该元素的相关维度


下面是一个示例:

问题是,无论我如何调用.getContainer()调用,它都返回null:这是我在控制台中运行的:
11:50:17.520 tinymce.activeEditor.getContainer()11:50:17.524 null 11:50:43.619 tinymce.get('scratchpad-component').getContainer()11:50:43.623 null
我尝试获取编辑器并梳理该对象的属性,但没有任何内容显示为编辑器当前高度的值。也许您可以制作一个TinyMCE小提琴,精确显示TinyMCE设置以及返回
null
?的代码,而不必看到运行code很难确切地知道为什么会得到
null
。您当然应该首先检查整个链接JavaScript(
tinymce
tinymce.activeEditor
…)为了确保您确实找到了编辑器。我创建了一个简单的TinyMCE提琴,显示如何使用JavaScript获取宽度和高度。我不确定这为什么不起作用(我不太使用JSFIDLE)但这就是我的要点。当ResizeEditor事件被触发时,我不知道我在哪里可以获得当前高度。此外,在第一次触发该事件后,每次鼠标移动到编辑器上时,该事件都会再次触发。好吧,我不知道与之前有什么不同,也不知道你的小提琴中有什么,但这是唯一的为我工作。也许是我整个上午都在用头撞桌子。非常感谢你的帮助!