2017-08-24 29 views
1

我想一个keydown事件附加到我的TinyMCE的,所以当一个用户点击在他的键盘输入的,而且解雇的keydown元素的任何父元素具有一定的I类元素想要向用户显示一条消息(警报)。如何获得所收到的keydown事件中TinyMCE的

到目前为止,在谷歌searhing后,我想出了这一点:

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

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

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

    } 

}); 

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

例如,我有这样的HTML里面的TinyMCE正在编辑:

<div id="xxx"> 

    <p class="paragrapch"> 

     <div> 

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

     </div> 

    </p> 

</div> 

假设用户键入的元素跨度#ZZZ里面的东西,我怎么可以让keydown事件火这个元素,所以我可以看在其所有的父母,看看有人有班级“段”?

与jQuery这是相当simples,只需使用:

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

,但如果我用我张贴在这里的第一个代码,“$(本)”是不是最内部的元素(最深的),它是身体元素。

回答

1

尝试使用

editor.selection.getNode() 

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

+0

再次我的朋友你的解决方案工作就像一个魅力!不需要额外的代码,你的线路运作得非常好! – Samul