TINYMCE中如何获取接收到keydown事件的元素

How to get the element that received the keydown event in TINYMCE

我想在我的 TINYMCE 上附加一个按键事件,所以当用户在他的键盘上按下 ENTER 并且触发按键的元素的任何父元素都有特定的 class 我想显示一条消息(提醒)用户。

到目前为止,在 Google 中搜索后,我想到了这个:

editor.on("keydown",function(e) {

    if (   (e.keyCode == 13)   &&   (CONDITIONAL)   ) {

        alert('You are not supposed to do this.');

    }

});  

我的问题是这个函数没有return触发事件的最内层(最深)元素。我怎样才能得到它?

例如,我在 tinymce 中编辑了这个 HTML:

<div id="xxx">

    <p class="paragrapch">

        <div>

            <span id="zzz">USER IS TYPING HERE</span>

        </div>

    </p>

</div>

假设用户在元素 span#zzz 中输入内容,我怎样才能让这个元素触发 keydown 事件,这样我就可以查看它的所有父元素,看看是否有人有 class "paragraph"?

使用 jquery 这很简单,只需使用:

$(this).parents(".paragraph").length

但是如果我使用我在这里发布的第一个代码,“$(this)”不是最里面的元素(最深的),而是 body 元素。

尝试使用

editor.selection.getNode()

...这应该会为您提供包含光标的元素。