怎么确定input元素在失去焦点后点击的元素?

<input type='text'>
input.addEventListener('blur',function(e){
  //若是由点击引起的焦点改变,捕获点击了的元素
},false);

input的blur事件可以由点击了页面上的其他的元素或者tab键切换到了其他的焦点而触发,
若是由点击引起,可以在blur事件里捕获点击的元素吗?

阅读 8.6k
2 个回答

你可以check下
event.relatedTarget是否有值
如果有,那么是通过Tab触发的
没有,那么是通过点击的

我有一个思路,在文本框上同时监听keydownblur事件,如果失焦是通过tab键触发的,那么必然两个事件都会触发,否则只会触发一个失焦事件,点击事件是监听不到的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题