关闭

codemirror覆盖默认按键事件

标签: codemirrorjs
616人阅读 评论(0) 收藏 举报
分类:

工作中用到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');
        }
    }
});

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:919次
    • 积分:47
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档