2013-03-21 2 views
1

У меня есть следующие настройки TinyMCE конфигурации:Trigger ключевого события на 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») - это название текстовой области, я также пробовал (редактировал) и не работал. Thanks

+0

Вы просто хотите разбить линию или есть обработчик, который запускается при нажатии клавиши ввода? – AlexCheuk

+0

@AlexCheuk Просто сломайте линию, хотя в tinymce, когда вы нажмете enter, он создает новый абзац, вот чего я хочу. – Aaron

ответ

1

Im собираюсь попытаться ответить. Правильно, как вы запускаете мероприятие. У меня есть пример, подтверждающий, что он работает. http://jsfiddle.net/3WsJE/

При запуске клавиши «return» с jQuery ключ фактически не вводится в значение текстового поля.

Я не знаю, если это то, что вы хотите, но если вы планируете запускать клавишу Enter, чтобы просто вставить разрыв строки, вы можете попробовать это решение.

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

Он работает в обычных текстовых областях, но когда я пытаюсь использовать его на Tinymce, это не так, что-то вроде вашего второго ответа, похоже, является способом, а не запускает ключевые события. Благодарю. – Aaron

+1

Я принимаю ваш ответ, потому что вы единственный, кто ответил, и потому, что это привело меня к правильному ответу. – Aaron

+0

@Aaron Спасибо :) – AlexCheuk

Смежные вопросы