2013-12-10 52 views
0

我使用內聯Ckeditor來編輯內容。我想將keypress事件綁定到div我編輯。我的意思是,我需要一個事件,當我更改div的內容時會觸發。 這裏是我如何做到這一點內聯ckeditor和按鍵事件

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.js"></script> 
    <script src="http://cdnjs.cloudflare.com/ajax/libs/ckeditor/4.2/ckeditor.js"></script> 
</head> 
<body> 
<div id="ckediv" contenteditable="true">Editing with CKEDITOR</div> 
<br> 
<script type='text/javascript'> 
$("#ckediv").keypress(function() { 
    alert('cke key pressed'); 
    }); 

</script> 
</body> 
</html> 

的問題是,keypressiechrome解僱當我按下enterdelete鍵的例子。如果我用contenteditable =「true」創造一個div,但沒有Ckeditor,那麼這個事件運作良好。 這裏是一個帶有代碼的jsfiddle,它顯示了它現在的工作原理http://jsfiddle.net/uAc7c/4/。我不知道爲什麼,但由於某種原因,這個jsfiddle(keypress事件)在ie中不起作用。當我在上面的源代碼本地測試時,它工作。 這裏是沒有CKEDITOR一個的jsfiddle,顯示它應該如何工作http://jsfiddle.net/mPM4J/4/

回答

0

jQuery的文檔說:

注:如不屬於任何正式規範的按鍵事件,使用時遇到的實際行爲它可能在瀏覽器,瀏覽器版本和平臺上有所不同。

所以我想IE和Chrome是兩個不支持的瀏覽器。

因此嘗試使用keyup事件,而不是像這樣:

$("#ckediv").keyup(function() { 
    alert('cke key pressed'); 
    }); 

欲瞭解更多信息,請看這裏: KeyUp Documentation in the JQuery API

+0

謝謝! keyup作品 – user2265529

+0

不客氣;) – Igle