2013-03-21 52 views
1

觸發關鍵事件我有以下TinyMCE的配置設置:上TinyMCE的

 //set up a new editor function  
    setup : function(ed) { 
    //peform this action every time a key is pressed 
    ed.onKeyUp.add(function(ed, e) { 
    //setting our max character limit 
    tinymax = 10; 
    //grabbing the length of the curent editors content 
    content = ed.getContent(); 

     var content_text = $(content).text(); 
     var tinylen = content_text.length; 

    //if the user has exceeded the max, trigger enter and create a new paragraph 
    if (tinylen>tinymax){ 
var e = jQuery.Event("keydown"); 
e.which = 13; // Enter keyCode 
$(".content").trigger(e);   
} 
} 

什麼不工作是觸發事件。我在這裏做錯了什麼? 順便說一下(「.content」)是文本區域的名稱,我也試過(編輯)並沒有工作。 謝謝

+0

你只是想打破這條線,還是有一個處理程序,當輸入鍵被觸發時觸發? – AlexCheuk 2013-03-21 23:49:01

+0

@AlexCheuk只要打破了界限,儘管在tinymce中,當你進入它創建一個新的段落,多數民衆贊成我想要的。 – Aaron 2013-03-21 23:56:51

回答

1

我會盡力回答。你觸發事件的方式是正確的。我在這裏有一個例子證明它的工作原理。 http://jsfiddle.net/3WsJE/

當用jQuery觸發「返回」鍵時,鍵實際上不會被輸入到textarea的值中。

我不知道這是你想要的,但如果你打算按Enter鍵來插入換行符,你可以試試這個解決方案。

$(".content").val($(".content").val()+'\n'); 
+0

它在正常的文本區域工作,但是當我在Tinymce上嘗試它時,它不會,像你的第二個答案似乎是這樣,而不是觸發關鍵事件。謝謝。 – Aaron 2013-03-22 00:09:18

+1

我接受你的答案,因爲你是唯一回應的人,並且因爲它使我得到正確的答案。 – Aaron 2013-03-22 01:36:44

+0

@Aaron謝謝:) – AlexCheuk 2013-03-22 01:51:11