javascript - 如何使用 jQuery 绑定(bind)同时发生的事件

标签 javascript jquery event-handling mouseevent keyboard-events

如何在 jQuery 中将同步事件绑定(bind)到选择器?

我的意思不是如何捕获某个元素上的点击或悬停,而是如何在两个事件同时发生的情况下捕获两个事件。例如,mouseover 和 keydown,或 click 和 keydown,如 shift+click 等。

提前致谢。

最佳答案

检测 shift + 单击很容易:检查 event 对象的 shiftKey 属性。

另一方面,检查按下的键 + 鼠标事件(同时)...:

  • 为keydown/keyup函数绑定(bind)一个事件,将event.keyCodeevent.which保存在一个变量中
  • 创建轮询函数,定期重置此变量,以便仅计算最后(例如:)300 毫秒内的击键
  • 添加一个 mousedown 事件,检查最后记住的 keyCode(如果存在)并执行相关代码(如果适用)。

有关处理多个事件(示例中为两个按键事件)的完整代码,请参阅 my previous answer .

关于javascript - 如何使用 jQuery 绑定(bind)同时发生的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917391/

相关文章:

java - 提交表单后如何在下拉框中保留选定的值?

javascript - Angular 5 - 捕获整个表格,包括 UL、LI

javascript - 即时创建可拖动

java - 如何将值从按钮传递到另一个类

objective-c - 如何正确使用 swipeWithEvent 导航 webView,Obj-C

javascript - 事件和函数之间的区别?

javascript - 如何阻止多个异步 Parse 云调用直到完成?

javascript - React 中太多的重新渲染

javascript - 通过将函数名存储在变量中来调用js中的函数

jquery - 如何使用 jquery 'show()' 或 'hide()' 显示/隐藏内容