js检测编辑器输入了@符号

正文开始

xheditor改的,自定义扩展了keydown事件,keyup事件

因为keyup的时候 加入手速过快,shift键的捕获很容易失败。

所以在keydown时加了定时器。 【注意 2和@捕获的都是一样的编码50】

 //检测shift+2 输入@
                var keyDownShift = {
                    timer: null,
                    isShift: false,
                    start:function () {
                        if(this.timer) {
                            clearTimeout(this.timer);
                        }
                        var this_ = this;
                        this.isShift = true;
                        this.timer = setTimeout(function () {
                            this_.isShift = false;
                        }, 100);
                    }
                };

编辑器定义事件:

 keydown: function (event) {
     if(event.shiftKey) {
        keyDownShift.start();
     }
 },
keyup: function(event) {
    var keyboardIsAt = (event.shiftKey || keyDownShift.isShift ) && event.keyCode === 50; 
    if(keyboardIsAt) {  

    }
}

正文结束

js 正则替换返回值做回调函数 xheditor_阉割版