keyboard.js

来自「精美的AJAX树形菜单」· JavaScript 代码 · 共 75 行

JS
75
字号
var qqPa=null,qqPc=new Array();
function qqPf(oControl,qzyb,qznv){
	this.Control=oControl;
	this.qztk=qzyb;
	this.qznv=qznv;
	}
;
function qqPd(oControl,qzyb){
	for(var qzba=0;qzba<qqPc.length;qzba++){
		if(qqPc[qzba].Control==oControl&&qqPc[qzba].qztk==qzyb){
			eval(qqPc[qzba].qznv);
			return true;
			};
		}
	;
	return false;
	}
;
if(document.layers){
	document.captureEvents(Event.KEYPRESS);
	};
function ComponentArt_HandleKeyPress(qzim){
	ComponentArt_ProcessKeyPress(qzim);
	}
;
function ComponentArt_ProcessKeyPress(qzim){
	if(!qqPa||!qqPa.KeyboardEnabled){
		return true;
		};
	if(document.activeElement&&(document.activeElement.nodeName=='INPUT'||document.activeElement.nodeName=='SELECT'
															 ||document.activeElement.nodeName=='TEXTAREA')){
		return true;
		};
	var qztk;
	if(document.all){
		qzim=window.event;
		qztk=qzim.keyCode;
		}
	else {
		qztk=qzim.which;
		};
	var qzAbi=String.fromCharCode(qztk);
	if(qztk>111&&qztk<123)
		qzAbi="F"+(qztk-111);
	else if(qztk==13)
		qzAbi="Enter";
	var qzlk="";
	if(qzim.shiftKey)
		qzlk+="Shift+";
	if(qzim.ctrlKey)
		qzlk+="Ctrl+";
	if(qzim.altKey)
		qzlk+="Alt+";
	qzlk+=qzAbi;
	if(!qqPd(qqPa,qzlk)){
		return true;
		};
	if(document.all){
		qzim.cancelBubble=true;
		qzim.returnValue=false;
		}
	else{
		qzim.preventDefault();
		qzim.stopPropagation();
		};

	return false;
	}
;
function ComponentArt_RegisterKeyHandler(oControl,qzyb,qznv){
	qqPc[qqPc.length]=new qqPf(oControl,qzyb,qznv);
	}
;
var ComponentArt_Keyboard_Loaded=true;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?