是否可以通过多种方式收听所有活动?

时间:2014-04-11 04:03:50

标签: javascript html javascript-events

是三个"正确"听取事件的方法。在此示例中,我们正在侦听load事件:

1.  <body onload="doSomething();">
2.  document.body.onload = doSomething;
3.  document.body.addEventListener('load', doSomething);

可以通过以下三种方式收听所有 JavaScript事件吗?

或者是否有派遣的事件(第三行),并且不能&#34;听过&#34;作为事件属性(第一行)还是作为元素的属性(第二行)?反之亦然,从不发送,但只有可设置的回调&#34;特性

1 个答案:

答案 0 :(得分:3)

  

可以通过以下三种方式收听所有 JavaScript事件吗?

没有

JavaScript中的某些事件是在不属于DOM的对象上触发的,因此当没有HTML时,无法在HTML中添加内联属性。

例如,MessageEvents表示WebSockets,ProgressEvents表示XmlHttpRequests。

HTML5 spec中有可能on(eventname)属性的参考列表:

  
      
  • onabort
  •   
  • 的onblur *
  •   
  • oncancel
  •   
  • oncanplay
  •   
  • oncanplaythrough
  •   
  • 平变化
  •   
  • 的onclick
  •   
  • 的OnClose
  •   
  • oncontextmenu
  •   
  • oncuechange
  •   
  • onfocus此
  •   
  • ondrag当
  •   
  • ondragend
  •   
  • ondragenter
  •   
  • ondragexit
  •   
  • ondragleave
  •   
  • ondragover
  •   
  • ondragstart
  •   
  • ondrop
  •   
  • ondurationchange
  •   
  • onemptied
  •   
  • onended
  •   
  • 的onerror *
  •   
  • 的onfocus *
  •   
  • oninput
  •   
  • oninvalid
  •   
  • 的onkeydown
  •   
  • onkeypress事件
  •   
  • 的onkeyup
  •   
  • 的onload *
  •   
  • onloadeddata
  •   
  • onloadedmetadata
  •   
  • onloadstart
  •   
  • onmousedown事件
  •   
  • OnMouseEnter在
  •   
  • OnMouseLeave在
  •   
  • 的OnMouseMove
  •   
  • 的onmouseout
  •   
  • 的onmouseover
  •   
  • onmouseup
  •   
  • onmousewheel
  •   
  • 的onPause
  •   
  • onplay
  •   
  • onplaying
  •   
  • onprogress
  •   
  • onratechange
  •   
  • onreset
  •   
  • 在onResize *
  •   
  • onscroll *
  •   
  • onseeked
  •   
  • onseeking
  •   
  • ONSELECT
  •   
  • OnShow中
  •   
  • 的onSort
  •   
  • onstalled
  •   
  • 的onsubmit
  •   
  • onsuspend
  •   
  • ontimeupdate
  •   
  • ontoggle
  •   
  • onvolumechange
  •   
  • onwaiting
  •   
     

标记为星号的属性在body元素上指定时具有不同的含义,因为这些元素公开具有相同名称的Window对象的事件处理程序。

关于如何在非DOM对象上处理事件,每个功能都有自己的规范和API。因此,每个功能都会随着浏览器之间的标准不一致而发生变化。