相关疑难解决方法(0)

DOM事件优先级

JavaScript中处理事件的优先顺序是什么?

以下是按字母顺序排列的事件......

  1. onabort - 图像的加载被中断
  2. onblur - 元素失去焦点
  3. onchange - 用户更改字段的内容
  4. onclick - 鼠标单击一个对象
  5. ondblclick - 鼠标双击一个对象
  6. onerror - 加载文档或图像时发生错误
  7. onfocus - 元素获得焦点
  8. onkeydown - 按下键盘键
  9. onkeypress - 按下或按住键盘键
  10. onkeyup - 发布键盘键
  11. onload - 页面或图像已完成加载
  12. onmousedown - 按下鼠标按钮
  13. onmousemove - 移动鼠标
  14. onmouseout - 鼠标移出元素
  15. onmouseover - 鼠标移动到元素上
  16. onmouseup - 释放鼠标按钮
  17. onreset - 单击重置按钮
  18. onresize - 调整窗口或框架的大小
  19. onselect - 选择文本
  20. onsubmit - 单击提交按钮
  21. onunload - 用户退出页面

他们从事件队列中处理了什么顺序?

优先级不是先进先出(FIFO),所以我相信.

javascript event-handling eventqueue dom-events

56
推荐指数
4
解决办法
2万
查看次数

检测由tab键启动的焦点?

我想检测元素的焦点事件,但只有当用户按Tab键启动时才会检测到它.例如:

<input type="text" id="foo" />
<input type="text" id="detect" />
Run Code Online (Sandbox Code Playgroud)

如果用户专注于#foo并按下Tab,我希望一旦#detect聚焦(或焦点事件内的条件为真)就触发事件.相反,如果用户只是单击该#detect字段来聚焦它,我不希望触发该事件(或者我希望焦点事件调用中的条件为假).

我不想使用keydown事件#foo并检查Tab键是否被按下,因为我希望该方法独立于任何其他元素.

我查看了以下代码的控制台输出,但没有注意到两种聚焦方法之间的任何真正差异:

$('#detect').on('focus', function(e){
   console.log(e); 
});
Run Code Online (Sandbox Code Playgroud)

(小提琴)

这有可能以一种相对简单的方式完成吗?

javascript jquery event-handling javascript-events

38
推荐指数
2
解决办法
5万
查看次数