2017-08-24 49 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