2016-03-22 37 views
2

我正在使用这个伟大的Chrome扩展Visual Event,它以可视方式显示附加到网站元素的JS事件。有没有添加事件而对点击产生反应的方法?

使用它,我注意到似乎有其他方式使用JavaScript进行反应,而不是事件?

例如,下面的页面有在JavaScript编程的对话框,但Visual事件不显示任何事件:

https://media-mediatemple.netdna-ssl.com/wp-content/uploads/2014/accessible.html

image

当寻找源代码,我看它使用.addEventListener(普通的JS函数?)而不是.click(一个jQuery函数?)。我创建了一个演示页面,这两种型号:

http://codepen.io/jmuheim/pen/jqBodO

image

但这似乎并没有成为唯一的区别。因为当我使用像NVDA这样的屏幕阅读器时,它会发布clickable,这些元素会对点击产生反应 - 但它在任何情况下都不会这样做,因为看起来似乎。

在第一个例子(模态窗口),NVDA不说clickable都:

image

在我的例子,NVDA宣布clickable两个元素:

image

所以我真的很困惑不同的方式来对JavaScript中的点击作出反应,因为似乎至少有3种不同的类型:

  • 一个使用.click,它总是由NVDA宣布,作为clickable和视觉事件使用.addEventListener
  • 一个显示被NVDA宣布(而不是通过视觉事件显示)使用.addEventListener
  • 一个没有被公布通过NVDA(并没有通过视觉事件显示)

有人可以告诉我在这里的区别?谢谢。

回答

0

有几个问题,

其实在你的第一个例子,有没有任何 click事件绑定到表单。

这只是使用html submit按钮来提交表单。以下是该演示的源代码。

<form> 
    <label for="name">Name:</label> 
    <input type="text" id="name" class="input" placeholder="Gimmie ur Name"> 

    <label for="email">Email:</label> 
    <input type="email" id="email" class="input" placeholder="Gimmie ur Email"> 

    <input type="submit" class="btn" value="Submit Form"> 
    </form> 

这里是Form sample code from w3school.

.addEventListener.onclick是纯JavaScript功能。 .click由jQuery定义。

addEventListener from MDN

onclick from MDN

.click from Jquery

对于视觉事件NVDA这是事件如何视觉吸引你的事件之间的差异。 (只是点击?)

希望这会解决您的问题。