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()
...这应该会为您提供包含光标的元素。
我想在我的 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()
...这应该会为您提供包含光标的元素。