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

请问.keycode与.哪个

请问.keycode与.哪个

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

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

一些浏览器使用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-08-03
?
千巷猫影

TA贡献1829条经验 获得超7个赞

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-08-03
  • 3 回答
  • 0 关注
  • 382 浏览

添加回答

举报

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