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

时间:2017-08-24 16:26:16

标签: jquery tinymce wysiwyg tinymce-4

我想将一个keydown事件附加到我的TINYMCE,所以当用户在键盘中点击ENTER时,触发keydown的元素的任何父元素都有某个类我想向用户显示一条消息(alert)

到目前为止,在谷歌搜索之后我想出了这个:

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

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

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

    }

});  

我的问题是这个函数不会返回触发事件的最内部(最深)元素。我怎么能得到它?

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

<div id="xxx">

    <p class="paragrapch">

        <div>

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

        </div>

    </p>

</div>

假设用户在元素span#zzz中输入了一些东西,我怎样才能使keydown事件触发到这个元素,这样我就可以查看其所有父元素,看看是否有人有一个类&#34;段落#34;?

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

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

但如果我使用我在这里发布的第一个代码,&#34; $(this)&#34;不是最内在的元素(最深的),它是身体元素。

1 个答案:

答案 0 :(得分:1)

尝试使用

editor.selection.getNode()

...应该让你得到包含光标的元素。