vue组合快捷键

vue组合快捷键

mounted(){
	//监听键盘
	document.removeEventListener('keydown',this.keydownfun);
}
methods:{
	keydownfun(e){
		if(e.keyCode=='116'){
			return false;
		}
		// console.log(e.srcElement)
		if(e.srcElement.nodeName=="INPUT" || e.srcElement.nodeName == "TEXTAREA"){
			if(e.srcElement.type){
				if(e.srcElement.type!='checkbox' && e.srcElement.type!='radio'){
					return false;
				}
			}else{
				return false;
			} 
		}
		if(e.srcElement.nodeName=='DIV'){
			let ids=e.srcElement.id;
			if(ids && ids=="textdivakaaka"){
				return false;
			}
		}
		if(e.srcElement.id=="textdivakaaka"){
			e.preventDefault();
			return false;
		}
		let jsonarrakaaka=[
			{actions:'上一条报文',shortcut:'↑'},
			{actions:'下一条报文',shortcut:'↓'},
			{actions:'抄报',shortcut:'Enter'},
			{actions:'抄报保存',shortcut:'Enter+s'},
			{actions:'批注',shortcut:'Shift+enter'},
			{actions:'报文导出',shortcut:'ctrl+alt+S'},
			{actions:'报文下载',shortcut:'ctrl+shift+S'},
			{actions:'快进',shortcut:'→'},
			{actions:'快退',shortcut:'←'},
			{actions:'图片放大',shortcut:'ctrl++'},
			{actions:'图片缩小',shortcut:'ctrl+-'},
			{actions:'图片翻转',shortcut:'ctrl+p'},
			{actions:'简繁切换',shortcut:'ctrl+alt+shift'},
		];
		let jsonarr=this.jsonarrakaarr?JSON.parse(this.jsonarrakaarr) : jsonarrakaaka;
		jsonarr.forEach((val) =>{
			if(val.shortcut.indexOf('++')!=-1){
				val.shortcut=val.shortcut.replace('++', '+akaaka');
				val.shortcut=val.shortcut.toLocaleLowerCase().split('+');
				val.shortcut=val.shortcut.join().replace('akaaka','+').split(',');
			}else{
				val.shortcut=val.shortcut.toLocaleLowerCase().split('+');
			}
		})
		let thats=this;
		if(e.keyCode !== 116){
			e.preventDefault();
		}
		
		let keydownar=[];
		if(e.ctrlKey){
			keydownar.push('ctrl');
		}
		if(e.shiftKey){
			keydownar.push('shift');
		}
		if(e.altKey){
			keydownar.push('alt');
		}
		for(let i=0;i<keydownarr6.length;i++){
			if(keydownarr6[i].keyCode==e.keyCode){
				keydownar.push(keydownarr6[i].name);
			}
		}
		console.log(keydownar)
		var clicktag = 0;
		for(let q=0;q<jsonarr.length;q++){
			if(thats.isEqual(jsonarr[q].shortcut,keydownar)){
				console.log('执行了什么操作',jsonarr[q].actions);
				if(jsonarr[q].actions){
					if (clicktag == 0) {
					   if(jsonarr[q].actions=="报文导出"){
					   	thats.BwdownloadvisiblehandleOk();
					   }else if(jsonarr[q].actions=="报文下载"){
					   	thats.DBdownload();
					   }else{
						   clicktag = 1;
						   thats.keywodnNum=thats.keywodnNum+1;
						   thats.keywodnState=jsonarr[q].actions+'aka'+thats.keywodnNum;
					   }
					   setTimeout(function () { clicktag = 0 }, 5000);
				    }else{
						// console.log('请勿频繁点击!');
				    }
					
				}
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值