Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onkeypress和onblur一起使得输入写入速度太慢_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript onkeypress和onblur一起使得输入写入速度太慢

Javascript onkeypress和onblur一起使得输入写入速度太慢,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我正在尝试建立一个打字指示器。一切都很好。但我发现它太慢了,无法在输入框中写入 我是这样用的 <Input type="textarea" :autosize="{minRows: 2, maxRows: 6}" placeholder="Type a message..." v-model="u.myMsg" @on-enter="sendMsg($event,u)" @on-focus="sendSeenInfo(u)" @on-keypress="run(t

我正在尝试建立一个打字指示器。一切都很好。但我发现它太慢了,无法在输入框中写入

我是这样用的

<Input  type="textarea" :autosize="{minRows: 2, maxRows: 6}" placeholder="Type a message..." 
     v-model="u.myMsg" @on-enter="sendMsg($event,u)" @on-focus="sendSeenInfo(u)" 
     @on-keypress="run(true, u.con_id, u.user_id)" @on-blur="stopped(false,u.con_id, u.user_id)" 
></Input>
sendTypingNoti
方法

sendTypingNoti(type, value, uid){
        const ws = adonis.Ws()
        ws.connect()
        const chat = ws.subscribe(`noti:${uid}`)
        chat.on('ready', () => {
           const data = {
              type: type,
              input: value
           }
           chat.emit('message', data)
        })
    },

停止方法也一样。

使用vue
观察者来设置“键入”的动画,而不是在按键上使用


vue
观察者的一个例子是,当你按下一个键时,会有类似的“键入”信息。

似乎是一个完美的例子。实施后我会让你知道的。非常感谢,都一样。看起来很慢,不适合我正在寻找的解决方案。无论如何,非常感谢你,你是说你输入的字符在打字时被延迟了?是的。字符看起来晚了一点。如果您尝试删除
v-model=“u.myMsg”
,是否会删除延迟?
sendTypingNoti(type, value, uid){
        const ws = adonis.Ws()
        ws.connect()
        const chat = ws.subscribe(`noti:${uid}`)
        chat.on('ready', () => {
           const data = {
              type: type,
              input: value
           }
           chat.emit('message', data)
        })
    },