jQuery鼠标的.click()是通过键盘导航启动的

2024-04-22

我发现 jQuery 的奇怪行为click事件。如果我们使用键盘导航(辅助功能情况),则通过 Enter 或 Space 启动单击(这取决于我们使用的是哪个 HTML 元素)。

jsfiddle 上有一个测试页面,您可以尝试在结果框架中使用键盘导航,并在不同情况下启动单击:

http://jsfiddle.net/DCXhN/9/ http://jsfiddle.net/DCXhN/9/

在 jQuery 手册中,我发现了以下描述click http://api.jquery.com/click/ event :

“当鼠标指针悬停在某个元素上,按下并释放鼠标按钮时,将向该元素发送 click 事件。任何 HTML 元素都可以接收此事件。”

正常吗?如果这是正常行为,如何仅拦截鼠标单击事件?


是的,这是正常的。 JQuery 文档是正确的,但有点不完整。还有更多详细信息WC3 site http://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - eg:

Note: For maximum accessibility, content authors are encouraged to use the click event type when defining activation behavior for custom controls, rather than other pointing-device event types such as mousedown or mouseup, which are more device-specific. Though the click event type has its origins in pointer devices (e.g., a mouse), subsequent implementation enhancements have extended it beyond that association, and it can be considered a device-independent event type for element activation.

或者,换句话说,对于某些元素,click() 本质上是一个逻辑事件,而不是特定于设备的事件。

如果您确实只想响应鼠标输入,则可以使用 mousedown/up 事件 - 但请记住,您必须使 UI 键盘可单独访问(例如,使用 keydown/press/etc 事件来提供键盘相等的)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery鼠标的.click()是通过键盘导航启动的 的相关文章

随机推荐

  • Python 中的“与”/“或”? [复制]

    这个问题在这里已经有答案了 我知道and and orpython中存在表达式 但是有没有and or表达 或者以某种方式将它们组合起来以产生与and or表达 我的代码看起来像这样 if input a if a or or or or
  • Django 在一次调用中序列化多个对象

    我想知道如何减少序列化时对数据库的调用次数 我有以下2个型号 class House models Model name models CharField max length 100 null True blank True addres
  • Web API 中 id 参数后带有操作的路由

    在 web api 中 默认路由是 api locations 123 days 5 config Routes MapHttpRoute name DefaultApi routeTemplate api controller id de
  • 如何在服务器端git hook中获取推送用户信息?

    我想阻止用户使用服务器端挂钩删除远程 git 分支 更新钩子 我在 update hook 中编写了 shell 脚本来实现这一点 现在我可以停下来了all用户删除远程git分支 但我想授予删除权限特定用户 为此 我们需要获取正在服务器端挂
  • java中的BufferStrategy中的图像闪烁?

    我正在用 java 制作游戏 需要在游戏板上绘制单元 我将所有单位放在一个列表中 并绘制该列表中的每个单位 绘制方法如下所示 public void paint Graphics g super paint g if unitList nu
  • 任何遍历嵌套字典的函数式编程方法?

    我正在尝试找到更好的方法来实现这一点 d a b c 4 l a b c for x in l d d x print d 4 我正在学习函数式编程 所以我只是尝试随机出现的例子 Use reduce http docs python or
  • 设备有“回调”功能吗?

    用户登录后 我想手动记录此事件并增加数据库中的计数器列 有没有类似的东西after login in Devise 就像ActiveRecord s before save Devise 在幕后使用 Warden Warden 为您提供了许
  • d3树计算所有孩子的数量

    我有一个基于以下内容的 d3 树 http bl ocks org mbostock 1093025 http bl ocks org mbostock 1093025 我如何计算所有孩子的数量 我已经尝试过这个 但是它计算了树中的所有行
  • 特征中的字段未及时初始化

    我不明白为什么这个领域encryptKey在调用类构造函数时 以下代码中的值并未初始化为 3 trait Logger println Construction of Logger def log msg String println ms
  • 使用 hibernate 获取数据库中的所有表

    有没有办法使用 hibernate 检索数据库中所有表的名称 我执行了查询SELECT TABLE NAME FROM USER TABLES在 oracle Db 中 它工作得很好 但当涉及到 DB2 时 就不会了 您可以使用 List
  • 等待嵌套异步调用完成

    我有一系列嵌套的异步调用需要在我的代码继续之前完成 函数 save part1 调用 sqlite 数据库并返回感兴趣的行 对于每一行 我都会进行 ajax 调用以远程保存它们 根据我所读到的有关 Promise 和 Deferred 的内
  • Visual Studio - 过滤掉 nvcc 警告

    我正在编写 CUDA 程序 但收到令人讨厌的警告 Warning Cannot tell what pointer points to assuming global memory space 这是来自 nvcc 我无法禁用它 有没有办法过
  • CustomVision:操作返回无效状态代码:“NotFound”

    我正在使用 NuGet 包Microsoft Cognitive CustomVision Prediction版本1 2 0 我创建了 1 个试验项目并用一些图像对其进行了训练 现在 当我尝试使用 API 调用 API 进行预测时Pred
  • 使用node.js访问DOM

    我想访问 html 文件并使用 node js 通过 id 获取元素 这是我的 html 文件
  • 如何有效计算文档流中文档之间的相似度

    我收集文本文档 在 Node js 中 其中一个文档i表示为单词列表 考虑到新文档以文档流的形式出现 计算这些文档之间相似性的有效方法是什么 我目前对每个文档中单词的归一化频率使用余弦相似度 我不使用 TF IDF 词频 逆文档频率 因为我
  • 未提供所需的防伪令牌或该令牌无效 - 仅限 Safari

    我有一个具有典型 xss 保护的 asp net mvc 2 项目 在每个表格内和 ValidateAntiForgeryToken 在每个帖子操作上 这在 Chrome Firefox 和 IE 中按预期工作 但我在 Safari v 5
  • 检查一个点是否在 ConvexHull 中?

    我无法理解如何计算 n 维点是否在 n 维凸包内 这里提出了一个非常相似的问题 相同 查找点是否位于点云的凸包中的有效方法是什么 https stackoverflow com questions 16750618 whats an eff
  • Archiva 忽略 Security.properties

    似乎 archiva 2 2 完全忽略了安全属性 我正在关注这个文档 https archiva apache org docs 2 2 0 adminguide customising security html我已经在下面设置了 sec
  • 创建 Javascript Api 接口

    我目前正在研究 php 中查询 sql 数据库的解决方案 但是 我希望其他网站能够查询数据库 或php中的函数 我搜索谷歌 但由于跨域策略 我认为 我无法找到如何将这些函数公开给javascript 有人知道我该怎么做吗 Try soap
  • jQuery鼠标的.click()是通过键盘导航启动的

    我发现 jQuery 的奇怪行为click事件 如果我们使用键盘导航 辅助功能情况 则通过 Enter 或 Space 启动单击 这取决于我们使用的是哪个 HTML 元素 jsfiddle 上有一个测试页面 您可以尝试在结果框架中使用键盘导