2016-01-05 2 views
2

Я использую tinymce 4.3.2, и я пытаюсь добавить настраиваемое событие, когда вы нажимаете клавишу вкладки внутри редактора. Вот мои настройки с помощью JQuery плагин:Событие keyin tinymce не срабатывает при нажатии клавиши табуляции

$(el).tinymce({ 
    theme: "modern", 
    plugins: [ 
     'textcolor' 
    ], 
    toolbar: 'bold italic underline forecolor', 
    menubar: false, 
    statusbar: false, 
    setup: function(editor) { 
     editor.on('keyup', function(e) { 
      console.log('keyup event fired'); 
     }); 
    } 
}); 

Однако при нажатии клавиши табуляции, эта функция KeyUp, кажется, не работать.

ответ

2

Я потратил много времени на размышления об этом, и я надеюсь спасти кого-то, потратив на это кучу времени. Казалось, что вкладка перейдет к следующему элементу, прежде чем событие keyup сможет быть зарегистрировано. Решение состоит в том, чтобы добавить событие keydown и предотвратить по умолчанию, если вы нажмете клавишу табуляции.

setup: function(editor) { 
    editor.on('keydown', function(e) { 
     var key = e.keyCode || e.which; 

     // do nothing on tab key 
     if (key == 9) { 
      e.preventDefault(); 
      return; 
     } 

    }).on('keyup', function(e) { 
     console.log('keyup event fired'); 
    }); 
} 

успех!

+0

_I потратил много времени на размышления об этом _... Похоже на 7 минут :) :) – Matt

+0

Я отправил после того, как понял, потому что я думал, что это будет полезно :) – lucky7samson

+0

Похоже, это так почему я проголосовал за это – Matt

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