转载:JS获取回车事件(兼容各浏览器) 另easyul框架的方式


原文地址:http://www.cnblogs.com/zhanglee/archive/2011/12/29/2731572.html

JS获取回车事件(兼容各浏览器)

JS获取回车事件一。用到onkeydown获取事件动作,二。用到键盘对应代码keyCode,三。 var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异,下面以贴一下实例:
 

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>JS获取回车时间(兼容各浏览器)</title>  
  6. </head>  
  7.   
  8. <body>  
  9.   
  10.   
  11.     <input onkeydown="enterSumbit()" type="text" id="qqnum" class="text"/>  
  12.     <input onclick="queryAward()" type="button" class="btnS" value="提交"/>  
  13.   
  14.   <script>  
  15.  function enterSumbit(){  
  16.       var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异  
  17.      if (event.keyCode == 13){  
  18.         queryAward();  
  19.      }  
  20.  }  
  21.  function queryAward(){  
  22.      alert('test');  
  23.  }  
  24.   </script>  
  25. </body>  
  26. </html>  
  27. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  28. <html xmlns="http://www.w3.org/1999/xhtml">  
  29. <head>  
  30. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  31. <title>JS获取回车时间(兼容各浏览器)</title>  
  32. </head>  
  33.   
  34. <body>  
  35.   
  36.   
  37.     <input onkeydown="enterSumbit()" type="text" id="qqnum" class="text"/>  
  38.     <input onclick="queryAward()" type="button" class="btnS" value="提交"/>  
  39.   
  40.   <script>  
  41.  function enterSumbit(){  
  42.       var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异  
  43.      if (event.keyCode == 13){  
  44.         queryAward();  
  45.      }  
  46.  }  
  47.  function queryAward(){  
  48.      alert('test');  
  49.  }  
  50.   </script>  
  51. </body>  
  52. </html>  

另,如果使用了前端框架easyul,并在input框中设置了 class="easyui-textbox" 那么以上的回车事件会失效,引用他人的说法就是

  由于easyul在生成input时就覆盖了原先的input,那这时依旧使用原来的方式绑定时会找不到属性进行绑定。

需要在使用时需要更改原先绑定方式,根据easyul规则来进行绑定,另外  未使用easyul时,是.keyCoke,这里是.which。


</pre><pre name="code" class="html">
	$('#qq_num').textbox('textbox').keydown(function(e) {
		if (e.which == 13) {
			doSearch();
	    }
	});
	
	//假设这里为查询 ajax
	function doSearch(){
		alert("xxx");
		//ajax操作,查询类,,,
		/* $.post("xxxxx_url",$("#fr").serialize(),function(data){
			alert(data);
		},"json"); */
	}



	<div>
		<form id="fr">
			<table>
				<tr>
					<td>QQ号:</td>
					<td><input οnkeydοwn="enterSumbit()" id="qq_num" class="easyui-textbox"
						style="width: 100px" textField="text">   </td>
					<td>
					<a href="#" class="easyui-linkbutton"
						iconCls="icon-search" οnclick="doSearch()">查询</a>
					</td>
				</tr>
			</table>
		</form>
		</div>





顺便再摘录一下有关keycode相关事件响应列表

 

XML/HTML代码
  1. keycode     8 = BackSpace BackSpace  
  2. keycode     9 = Tab Tab  
  3. keycode    12 = Clear  
  4. keycode    13 = Enter  
  5. keycode    16 = Shift_L  
  6. keycode    17 = Control_L  
  7. keycode    18 = Alt_L  
  8. keycode    19 = Pause  
  9. keycode    20 = Caps_Lock  
  10. keycode    27 = Escape Escape  
  11. keycode    32 = space space  
  12. keycode    33 = Prior  
  13. keycode    34 = Next  
  14. keycode    35 = End  
  15. keycode    36 = Home  
  16. keycode    37 = Left  
  17. keycode    38 = Up  
  18. keycode    39 = Right  
  19. keycode    40 = Down  
  20. keycode    41 = Select  
  21. keycode    42 = Print  
  22. keycode    43 = Execute  
  23. keycode    45 = Insert  
  24. keycode    46 = Delete  
  25. keycode    47 = Help  
  26. keycode    48 = 0 equal braceright  
  27. keycode    49 = 1 exclam onesuperior  
  28. keycode    50 = 2 quotedbl twosuperior  
  29. keycode    51 = 3 section threesuperior  
  30. keycode    52 = 4 dollar  
  31. keycode    553 = 5 percent  
  32. keycode    54 = 6 ampersand  
  33. keycode    55 = 7 slash braceleft  
  34. keycode    56 = 8 parenleft bracketleft  
  35. keycode    57 = 9 parenright bracketright  
  36. keycode    65 = a A  
  37. keycode    66 = b B  
  38. keycode    67 = c C  
  39. keycode    68 = d D  
  40. keycode    69 = e E EuroSign  
  41. keycode    70 = f F  
  42. keycode    71 = g G  
  43. keycode    72 = h H  
  44. keycode    73 = i I  
  45. keycode    74 = j J  
  46. keycode    75 = k K  
  47. keycode    76 = l L  
  48. keycode    77 = m M mu  
  49. keycode    78 = n N  
  50. keycode    79 = o O  
  51. keycode    80 = p P  
  52. keycode    81 = q Q at  
  53. keycode    82 = r R  
  54. keycode    83 = s S  
  55. keycode    84 = t T  
  56. keycode    85 = u U  
  57. keycode    86 = v V  
  58. keycode    87 = w W  
  59. keycode    88 = x X  
  60. keycode    89 = y Y  
  61. keycode    90 = z Z  
  62. keycode    96 = KP_0 KP_0  
  63. keycode    97 = KP_1 KP_1  
  64. keycode    98 = KP_2 KP_2  
  65. keycode    99 = KP_3 KP_3  
  66. keycode 100 = KP_4 KP_4  
  67. keycode 101 = KP_5 KP_5  
  68. keycode 102 = KP_6 KP_6  
  69. keycode 103 = KP_7 KP_7  
  70. keycode 104 = KP_8 KP_8  
  71. keycode 105 = KP_9 KP_9  
  72. keycode 106 = KP_Multiply KP_Multiply  
  73. keycode 107 = KP_Add KP_Add  
  74. keycode 108 = KP_Separator KP_Separator  
  75. keycode 109 = KP_Subtract KP_Subtract  
  76. keycode 110 = KP_Decimal KP_Decimal  
  77. keycode 111 = KP_Divide KP_Divide  
  78. keycode 112 = F1  
  79. keycode 113 = F2  
  80. keycode 114 = F3  
  81. keycode 115 = F4  
  82. keycode 116 = F5  
  83. keycode 117 = F6  
  84. keycode 118 = F7  
  85. keycode 119 = F8  
  86. keycode 120 = F9  
  87. keycode 121 = F10  
  88. keycode 122 = F11  
  89. keycode 123 = F12  
  90. keycode 124 = F13  
  91. keycode 125 = F14  
  92. keycode 126 = F15  
  93. keycode 127 = F16  
  94. keycode 128 = F17  
  95. keycode 129 = F18  
  96. keycode 130 = F19  
  97. keycode 131 = F20  
  98. keycode 132 = F21  
  99. keycode 133 = F22  
  100. keycode 134 = F23  
  101. keycode 135 = F24  
  102. keycode 136 = Num_Lock  
  103. keycode 137 = Scroll_Lock  
  104. keycode 187 = acute grave  
  105. keycode 188 = comma semicolon  
  106. keycode 189 = minus underscore  
  107. keycode 190 = period colon  
  108. keycode 192 = numbersign apostrophe  
  109. keycode 210 = plusminus hyphen macron  
  110. keycode 211 =  
  111. keycode 212 = copyright registered  
  112. keycode 213 = guillemotleft guillemotright  
  113. keycode 214 = masculine ordfeminine  
  114. keycode 215 = ae AE  
  115. keycode 216 = cent yen  
  116. keycode 217 = questiondown exclamdown  
  117. keycode 218 = onequarter onehalf threequarters  
  118. keycode 220 = less greater bar  
  119. keycode 221 = plus asterisk asciitilde  
  120. keycode 227 = multiply division  
  121. keycode 228 = acircumflex Acircumflex  
  122. keycode 229 = ecircumflex Ecircumflex  
  123. keycode 230 = icircumflex Icircumflex  
  124. keycode 231 = ocircumflex Ocircumflex  
  125. keycode 232 = ucircumflex Ucircumflex  
  126. keycode 233 = ntilde Ntilde  
  127. keycode 234 = yacute Yacute  
  128. keycode 235 = oslash Ooblique  
  129. keycode 236 = aring Aring  
  130. keycode 237 = ccedilla Ccedilla  
  131. keycode 238 = thorn THORN  
  132. keycode 239 = eth ETH  
  133. keycode 240 = diaeresis cedilla currency  
  134. keycode 241 = agrave Agrave atilde Atilde  
  135. keycode 242 = egrave Egrave  
  136. keycode 243 = igrave Igrave  
  137. keycode 244 = ograve Ograve otilde Otilde  
  138. keycode 245 = ugrave Ugrave  
  139. keycode 246 = adiaeresis Adiaeresis  
  140. keycode 247 = ediaeresis Ediaeresis  
  141. keycode 248 = idiaeresis Idiaeresis  
  142. keycode 249 = odiaeresis Odiaeresis  
  143. keycode 250 = udiaeresis Udiaeresis  
  144. keycode 251 = ssharp question backslash  
  145. keycode 252 = asciicircum degree  
  146. keycode 253 = 3 sterling  
  147. keycode 254 = Mode_switch  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值