Eventos de mouse e chave

function getsjYuan(ev) {
	/// <summary>
	/// 获取事件源元素
	/// </summary>
	/// <param name="ev" type="Event">事件回调函数的参数</param>
	/// <returns type='Element'/>

	ev = ev || window.event || arguments.callee.caller.arguments[0];
	var target = ev.target || ev.srcElement;
	return target;
}
//获取键盘事件中的按键值
function getJianZhi(ev, gsh) {
	/// <summary>
	/// 获取键盘事件中的按键值
	/// </summary>
	/// <param name="ev">键盘事件回调参数</param>
	/// <param name="gsh" optional='true'>(注意:不完善,比如无法获取功能键不建议使用)true=返回按键字符 false=返回键值(int)默认为false</param>
	/// <returns type="obj"/>
	ev = ev?ev:window.event;
	var kg;


	if (ev.keyCode) {
		if (gsh == null) {
			kg = false;
		}
		else {
			kg = gsh;
		}
		var ls = ev.keyCode;
		if (kg) {

			return String.fromCharCode(ls);
		}

		return ls;
	}




}



function dianJi(ele, fn) {
	/// <summary>
	///绑定鼠标点击事件
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev)  回调函数里可用 quShiJianE() quZhuoBiao()</param>
	addShiJian(ele, "click", fn);
}


function shuangJi(ele, fn) {
	/// <summary>
	///绑定鼠标双击事件
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev)  回调函数里可用 quShiJianE() quZhuoBiao()</param>
	addShiJian(ele, "dblclick", fn);
}

function getJiaoDian(ele, fn) {
	/// <summary>
	///获取焦点
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev)  回调函数里可用 quShiJianE() quZhuoBiao()</param>
	addShiJian(ele, "focus", fn);
}
function shiQuJiaoDian(ele, fn) {
	/// <summary>
	///失去焦点
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev)   回调函数里可用 quShiJianE() quZhuoBiao()</param>
	addShiJian(ele, "blur", fn);
}

function yiDao(ele, fn) {
	/// <summary>
	///鼠标被移到某元素之上
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev)   回调函数里可用 quShiJianE() quZhuoBiao()</param>
	addShiJian(ele, "mouseover", fn);
}

function liKai(ele, fn) {
	/// <summary>
	///鼠标从某元素移开
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev) 回调函数里可用 quShiJianE() quZhuoBiao() </param>
	addShiJian(ele, "mouseout", fn);
}

function yiDong(ele, fn) {
	/// <summary>
	///鼠标从某元素上移动
	/// </summary>
	/// <param name="ele" type="Element">元素对象</param>
	/// <param name="fn" type="obj">回调函数 function(ev) 回调函数里可用 quShiJianE() quZhuoBiao() </param>
	addShiJian(ele, "mousemove", fn);
}

function anXia(fn) {
	/// <summary>
	///键盘按下
	/// </summary>
	/// <param name="fn" type="obj">回调函数 可调用 quJianZhi(ev) 获取键值</param>
	addShiJian(window.document, "keydown", fn);

}
function anZhu(fn) {
	/// <summary>
	///键盘按住
	/// </summary>
	/// <param name="fn" type="obj">回调函数 可调用 quJianZhi(ev) 获取键值
	addShiJian(window.document, "keypress", fn);

}
function songKai(fn) {
	/// <summary>
	///键盘松开
	/// </summary>
	/// <param name="fn" type="obj">回调函数 可调用 quJianZhi(ev) 获取键值</param>
	addShiJian(window.document, "keyup", fn);

}
function chuangKouK(fn) {
	/// <summary>
	///窗口改变 (浏览器的窗口大小改变)
	/// </summary>
	/// <param name="fn" type="obj">回调函数</param>
	addShiJian(window, "resize", fn);
}

function quZuoBiao(event) {
	/// <summary>
	/// 获取鼠标事件发生时,当前鼠标坐标(相对文档,不是客户区)
	/// </summary>
	/// <param name="event" type="Event">元素对象</param>
	/// <returns type='obj'返回一个具有 x和y 属性的对象/>
	event = event || window.event || arguments.callee.caller.arguments[0];

	return {x:event.pageX,y:event.pageY};

}


function addShiJian(element, e, fn) {
	/// <signature>
	/// <summary>
	///用于指定元素的事件添加
	/// </summary>
	/// <param name="elemen" type="elemen" >操作对象</param>
	/// <param name="e" type="string" >事件名</param>
	/// <param name="fu" type="function" >事件回调函数</param>
	///<returns type = ''/>
	/// </signature>
	if (element.addEventListener) {
		element.addEventListener(e, fn);
	} else {
		element.attachEvent("on" + e, fn);
	}
}
function deleteShiJian(element, ev, fu,u)
{
	/// <summary>
	/// 删除事件
	/// </summary>
	// <param name="element" type="element">指定操作元素</param>
	/// <param name="ev" type="event">要移除的事件名称注意:不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。</param>
	/// <param name="fu" type="Function">指定要移除的函数。</param>
	/// <param name="u" type="useCapture">	可选。布尔值,指定移除事件句柄的阶段。true - 在捕获阶段移除事件句柄 false- 默认。在冒泡阶段移除事件句柄</param>
	/// <returns />
	if (!u)
	{
		element.removeEventListener(ev, fu);
	}else {
		element.removeEventListener(ev, fu,u);
	}
	

}

function getShuBiao_this(obj) {
	var ev = window.event;
	var _x = ev.clientX - obj.offsetLeft;

	var _y = ev.clientY - obj.offsetTop;

	return {
		x: _x,
		y: _y
	}
}

Casos de uso:

  dianJi(getId('di'),function (ev) { 
       //在这里处理点击事件处理函数
       
       });
       shuangJi(getId('di'),function (ev) { 
       //这里写双击事件处理代码
       });
       anXia(getId('di'),function (ev) { 
           var 键值 = quJianZhi(ev);
           if (键值 == 13)
           { 
               alert("你按下了 enter 键");
           }
       
       });

A seguir está uma tabela classificada de correspondência de código de valor-chave ...

keyCode 8 = BackSpace BackSpace
keyCode 9 = Tab Tab
keyCode 12 = Limpar
keyCode 13 = Enter
keyCode 16 = Shift_L
keyCode 17 = Control_L
keyCode 18 = Alt_L
keyCode 19 = Pausar
keyCode 20 = Caps_Lock
keyCode 27 = Escape Escape
keyCode 32 =
tecla de espaçoCode 33 = Prior
keyCode 34 = Próximo
keyCode 35 = Fim
keyCode 36 = Home
keyCode 37 = Left
keyCode 38 = Up
keyCode 39 = Right
keyCode 40 = Down
keyCode 41 = Selecionar
keyCode 42 = Imprimir
keyCode 43 = Executar
keyCode 45 = Inserir
keyCode 46 = Excluir
keyCode 47 = Ajuda
keyCode 48 = 0 igual braceright
keyCode 49 = 1 exclam unsuperior
keyCode 50 = 2 quotedbl twosuperior
keyCode 51 = 3 seções três
três keyCode superior 52 = 4 dólares
keyCode 53 = 5 por cento
keyCode 54 = 6 e comercial
keyCode 55 = 7 slash braceleft
keyCode 56 = 8 parênteses bracketleft
keyCode 57 = 9 parenright bracketright
keyCode 65 = a A
keyCode 66 = b B
keyCode 67 = c C
keyCode 68 = d D
keyCode 69 = e E EuroSign
keyCode 70 = f F
keyCode 71 = g G
keyCode 72 = h H
keyCode 73 = i I
keyCode 74 = j J
keyCode 75 = k K
keyCode 76 = l L
keyCode 77 = m M mu
keyCode 78 = n N
keyCode 79 = o O
keyCode 80 = p P
keyCode 81 = q Q no
keyCode 82 = r R
keyCode 83 = s S
keyCode 84 = t T
keyCode 85 = u U
keyCode 86 = v V
keyCode 87 = w W
keyCode 88 = x X
keyCode 89 = y Y
keyCode 90 = z Z
keyCode 96 = KP_0 KP_0
keyCode 97 = KP_1 KP_1
keyCode 98 = KP_2 KP_2
keyCode 99 = KP_3 KP_3
keyCode 100 = KP_4 KP_4
keyCode 101 = KP_5 KP_4
keyCode 101 = KP_5 KP_5 keyCode 101 = KP_5 KP_5 keyCode 102 = KP_5 KP_5 KP_6
keyCode 103 = KP_7 KP_7
keyCode 104 = KP_8 KP_8
keyCode 105 = KP_9 KP_9
keyCode 106 = KP_Multiply KP_Multiply
keyCode 107 = KP_Add KP_Add
keyCode 108 = KP_Separator KP_Separator
keyCode 109 = KP_Subtract KP_Subtract
keyCode 110 = KP_Decimal KP_Decimal
keyCode 111 = KP_Divide KP_Divide
keyCode 112 = F1
keyCode 113 = F2
keyCode 114 = F3
keyCode 115 = F4
keyCode 116 = F5
keyCode 117 = F6
keyCode 118 = F7
keyCode 119 = F8
keyCode 120 = F9
keyCode 121 = F10
keyCode 122 = F11
keyCode 123 = F12
keyCode 124 = F13
keyCode 125 = F14
keyCode 126 = F15
keyCode 127 = F16
keyCode 128 = F17
keyCode 129 = F18
keyCode 130 = F19
keyCode 131 = F20
keyCode 132 = F21
keyCode 133 = F22
keyCode 134 = F23
keyCode 135 = F24
keyCode 136 = Num_Lock
keyCode 137 = Scroll_Lock
keyCode 187 = grave aguda
keyCode 188 = vírgula ponto-e-vírgula
keyCode 189 = menos sublinhado
keyCode 190 = ponto e dois pontos
keyCode 192 =
números apóstrofe keyCode 210 = mais minus hífen macron
keyCode 211 =
keyCode 212 = copyright registrado
keyCode 213 = guillemotleft guillemotright
keyCode 214 = masculino ordfeminine
keyCode 215 = ae AE
keyCode 216 = cent iene
keyCode 217 = questionamento exclamdown
keyCode 218 = um quarto e
meio três quartos keyCode 220 = barra maior
keyCode 221 = plus asterisco asciitilde
keyCode 227 = divisão multiplicar
keyCode 228 = acircumflex Acircumflex
keyCode 229 = ecircumflex Ecircumflex
keyCode 230 = icircumflex Icircumflex
keyCode 231 = ocircumflex Ocircumflex
keyCode 232 = ucircumflex Ucircumflex
keyCode 233 = Ntilde Ntilde
keyCode 234 = yacute Yacute
keyCode 235 = Ø Ooblique
keyCode 236 = aring Aring
keyCode 237 = ccedilla Ccedilla
keyCode 238 = thorn THORN
keyCode 239 = eth ETH
keyCode 240 = diérese
cedilla moeda keyCode 241 = agrave Agrave atilde Atilde
keyCode 242 = egrave Egrave
keyCode 243 = igrave Igrave keyCode 243 = igrave igrave
o código de acesso 244 = ograve Ograve otilde Otilde
o código de acesso 245 = ugrave Ugrave
o código de acesso 246 = adiaeresis Adiaeresis
o código de acesso 247 = ediaeresis Ediaeresis
o código de acesso 248 = idiaeresis Idiaeresis
o código de acesso 249 = odiaeresis Odiaeresis
o código de acesso 250 = udiaeresis Udiaeresis
o código de acesso 251 = ssharp Pergunta barra invertida The
the keyCode 252 = asciicircum Grau
the keyCode 253 = 3 sterling
keyCode 254 = Mode_switch
usa o atributo keyCode do objeto de evento para determinar o valor da chave inserido,
por exemplo: if (event.keyCode == 13) alert ("enter!") ;
tabela de correspondência de valores-chave
A 0X65 U 0X85
B 0X66 V 0X86
C 0X67 W 0X87
D 0X68 X 0X88
E 0X69 Y 0X89
F 0X70 Z 0X90
G 0X71 0 0X48
H 0x72 1 0x49
I 0x73 2 0x50
J 0x74 3 0x51
K 0X75 4 0x52
L 0X76 5 0x53
M 0x77 6 0x54
N 0x78 7 0x55
ó 0x79 8 0x56
P 0x80 9 0x57
Q 0x81 CES 0x1B
R 0x82 CTRL 0x84
S 0x83
SHI ENTER 0xD
Se você deseja usar uma combinação de teclas, você pode julgar se essas teclas são pressionadas ao mesmo tempo, como a combinação da tecla ctrl, tecla shift e tecla alt, você pode julgar se a tecla ctrl, tecla shift e tecla alt são pressionados mais

 

 

 

Acho que você gosta

Origin blog.csdn.net/jia13475881149/article/details/114266302
Recomendado
Clasificación