Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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 VueJS-如何检测Ctrl+;v_Javascript_Vue.js_Vuejs2_Textinput - Fatal编程技术网

Javascript VueJS-如何检测Ctrl+;v

Javascript VueJS-如何检测Ctrl+;v,javascript,vue.js,vuejs2,textinput,Javascript,Vue.js,Vuejs2,Textinput,我已经看到了的答案,但这不是我需要的解决方案,因为它是针对jQuery的,我需要针对vue.js的解决方案 到目前为止,我能够使用ff检测单字符印刷。代码: 导出默认值{ 名称:'游戏', 数据(){ 返回{ allowInput:false, 禁用键:['ArrowLeft','Home','Control'] } }, 方法:{ keymonitor:功能(事件){ console.log(event.key) if(this.disabledKeys.indexOf(event.key)

我已经看到了的答案,但这不是我需要的解决方案,因为它是针对jQuery的,我需要针对vue.js的解决方案

到目前为止,我能够使用ff检测单字符印刷。代码:

导出默认值{
名称:'游戏',
数据(){
返回{
allowInput:false,
禁用键:['ArrowLeft','Home','Control']
}
},
方法:{
keymonitor:功能(事件){
console.log(event.key)
if(this.disabledKeys.indexOf(event.key)>=0){
event.preventDefault()
this.allowInput=false
//警报('不允许')
}否则{
this.allowInput=true
}
},
核对答案(){
如果(!this.allowInput){
警报('您按下的键是/不允许的')
}
}/*结束检查答案*/
}/*结束方法*/
}/*结束导出默认值*/

要检测两个键,Vue提供了,例如,要检测Alt+C,您只需执行以下操作:

<input @keyup.alt.67="YourFn">

与Ctrl+V类似,您可以执行以下操作:

<input @keyup.ctrl.76="YourFn">

正如我所看到的,Ctrl+v的ASCII代码是22,因此您应该能够简单地执行以下操作:

<input @keyup.22="YourFn">

您可以检查js fiddle链接是否存在相同的问题

keyup: function(event){
    if(event.keyCode == 86 && event.ctrlKey){
    // do something here
  }
}

请检查代码段,您在其中使用的是导出:)可以使用与您引用的答案相同的方法。只需使用
document.addEventListener
而不是jQuery方法。这是answare使用的键盘向上键和向下键events@Amresh我知道它在这里的代码段“tool”中抛出了一个错误,但我的开发环境中现在没有任何错误。尽管我很喜欢这个答案,但有一个答案是:…keyup.ctrl只有在按住ctrl键的同时释放一个键时才会触发。如果您单独释放ctrl键,它不会触发。这就像魔术一样!我甚至可以将它与现有的
@keyup
/
@keydown
功能一起使用
@keydown.22
不起任何作用,所以我改用了
@keydown.ctrl.86
。非常感谢你的帮助
@keydown.ctrl.enter
也可以正常工作。