javascript - 如何在单一条件下检测键码和点击事件?

标签 javascript

是否可以这样写:

function advance(e){
   if(e.keycode === 13 || e.target === 'click'){
    // something here
 }
}

http://jsbin.com/beracapede/edit?html,js,console,output

最佳答案

您可以检查该事件是否是 MouseEvent 的实例或KeyboardEvent .

function advance(event) {
  if (event instanceof MouseEvent) {
    console.log('clicked');
  } else if (event instanceof KeyboardEvent && event.keyCode === 13) {
    console.log('enter');
  }
}

window.addEventListener('keypress', advance);
div {
  width: 100px;
  height: 100px;
  background: #F00;
}
<div onclick="advance(event)"></div>

关于javascript - 如何在单一条件下检测键码和点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36141841/

相关文章:

javascript - 我怎样才能使这种语法成为可能 : var a = (5). plus(3).minus(6);//2

java - servlet 可以有扩展吗?

javascript - Typescript 中的 Json 形成(Angular 7)

javascript - 应用于 selected() select 的重置也会重置占位符

javascript - 原型(prototype)的目的是什么?

javascript - 获取元素样式并将其分配给 vue.js 中的另一个元素

javascript - three.js 如何缓存(本地存储)3d 模型和纹理?

javascript - 映射到没有临时变量的对象

javascript - 使这个 Javascript 倒数计时器响应

javascript - 检查 .ajax 请求后加载的所有图像?