tinymce keyup 事件不会在 tab 键上触发

tinymce keyup event doesn't fire on tab key

我使用的是 tinymce 4.3.2,当您在编辑器中按下 Tab 键时,我正在尝试添加一个自定义事件。 这是我使用 jquery 插件的设置:

$(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');
        });
    }
});

但是,当我按下tab键时,这个keyup功能好像没有运行。

我花了很多时间思考这个问题,我希望能避免有人在这个问题上浪费大量时间。在能够注册 keyup 事件之前,选项卡似乎会转到下一个元素。解决方案是添加一个 keydown 事件,并在您按下 tab 键时防止出现默认情况。

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');
    });
}

成功!