我试图检测焦点事件是否由用户(手动)触发。 当谈到click
事件,可以检查是否event.originalEvent
存在内部处理方法:检测焦点事件是否由用户/浏览器或jQuery触发
typeof event.originalEvent != "undefined"
不幸的是,它的行为对焦点事件不同。 请检查example。
尝试单击第一个<input>
,然后单击第二个输入的“触发点击”按钮,您将看到click undefined
,这意味着event.originalEvent
不存在。 然后尝试单击第一个<input>
,然后单击第二个输入的“触发器焦点”按钮,您将看到focus object
,event.originalEvent
这次出现。
- 如何检测焦点事件是否由用户触发(不是编程)?
这也许有所帮助:https://stackoverflow.com/questions/5653332/differentiate-between-焦点事件触发键盘鼠标 – Nayish
您可以使用特殊事件吗?像'custom_blur'作为'blur'的别名? – Martijn
在chrome下(未使用其他浏览器测试)从脚本触发时,“event.originalEvent.sourceCapabilities”为null。 –