codemirror覆盖默认按键事件

工作中用到codemirror,需要增加一个'Backspace'按键的删除事件(遇到'field'字段整个删除而不是逐字删除)。开始使用了keyHandled方法和extrakey方法,都出现了'Backspace'默认事件无法阻止的情况,后来改用addKeyMap方法,搞定。其实官方文档中也讲到这个方法常用于插件中增加按键绑定,可惜开始没注意。

代码如下

this.editor.addKeyMap({
    'Backspace': function (cm) {
        var ch = cm.getTokenAt(cm.getCursor());
        if(ch.type == 'field') {
            cm.execCommand('delWordBefore');
            cm.execCommand('delCharBefore');
        } else {
            cm.execCommand('delCharBefore');
        }
    }
});

阅读更多
文章标签: codemirror js
个人分类: js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭