tinymce keyup事件不会触发Tab键

时间:2016-01-05 19:38:51

标签: jquery tabs tinymce tinymce-4 keyup

我正在使用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键时,此键盘功能似乎无法运行。

1 个答案:

答案 0 :(得分:2)

我花了很多时间思考这个问题,我希望能够节省一些人浪费时间。看起来像tab会在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');
    });
}

成功!