为了账号安全,请及时绑定邮箱和手机立即绑定

.keycode与.哪个

.keycode与.哪个

眼眸繁星 2019-07-19 18:43:19
.keycode与.哪个我以为这会在堆栈溢出的某个地方找到答案,但我找不到。如果我在监听按键事件,我应该使用.keyCode或.which以确定是否按下了Enter键?我一直做的事情如下:$("#someid").keypress(function(e) {   if (e.keyCode === 13) {     e.preventDefault();     // do something   }});但我看到的例子.which而不是.keyCode..有什么关系呢?一个比另一个更友好吗?
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

一些浏览器使用keyCode,其他人使用which..如果使用jQuery,则可以可靠地使用which作为jQuery规范事物再来点。


如果不使用jQuery,则可以这样做:

var key = 'which' in e ? e.which : e.keyCode;

或交替:

var key = e.which || e.keyCode || 0;

.这处理了这样一种可能性e.which可能是0(通过恢复0最后,使用JavaScript非常强大||操作者).


查看完整回答
反对 回复 2019-07-19
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

jQuery规范event.which取决于event.which, event.keyCode或event.charCode浏览器支持:


// Add which for key events

if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {

   event.which = event.charCode != null ? event.charCode : event.keyCode;

}

额外的好处.whichjQuery也用于鼠标单击:


// Add which for click: 1 === left; 2 === middle; 3 === right

// Note: button is not normalized, so don't use it

if ( !event.which && event.button !== undefined ) {

    event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));

}


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信