jQuery的鼠标。点击()通过键盘导航推出(jQuery mouse's .click()

2019-09-16 15:09发布

我发现的jQuery奇怪的行为, click事件。 如果我们使用键盘导航(无障碍情况下),单击由输入或空间发射(这取决于,HTML元素,我们正在使用的)。

有上的jsfiddle一个测试页面,你可以尝试用键盘在结果框浏览,然后单击在不同情况下启动:

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

在jQuery的手册中,我发现下面的描述点击事件:

“单击事件被发送给一个元素,当鼠标指针在元件和鼠标按钮被按下并释放。任何HTML元素可以收到此事件”。

它是正常的吗? 如何截取只有鼠标点击事件,如果是正常的行为?

Answer 1:

是的,这是正常的。 jQuery的文档是正确的,但有点不完整的。 有一个在更多的细节WC3网站 -例如:

注:为了获得最大的可访问性,鼓励内容作者定义的激活行为时自定义控件,而不是其他的定位设备的事件类型,比如鼠标按下或鼠标松开,这是更针对具体设备的使用点击事件类型。 虽然点击事件类型有其在指针设备的起源(例如,小鼠),随后执行增强功能扩展它超出了关联,并且它可以被认为是对元件的激活与设备无关的事件类型。

或者,换一种说法,对于一些元素,点击()本质上是一个事件,而不是特定于设备的事件。

如果你真的想只鼠标输入响应,你可以使用鼠标按下/上事件 - 但请记住,那么你就必须让你的UI键盘单独访问(例如,使用的keydown /新闻/等活动提供了键盘。当量)。



文章来源: jQuery mouse's .click() is launched by keyboard navigation