今天学习了js的事件处理程序,IE与FF,chrome,safari,opera的处理事件方法不同,FF,chrome,safari,opera支持addEventLisener,而addEventListener是属于DOM2定义的函数,IE不支持DOM2,因此要想实现跨浏览器的事件处理,需要针对IE与FF,chrome,safari,opera进行不一样的处理。

1、事件流

首先要记录的就是事件流了,事件流有三个阶段,事件捕获阶段、处于目标阶段和事件冒泡阶段。处于目标阶段,其事件处理中被看成冒泡阶段的一部分。

DOM0级事件处理程序,直接对元素赋一个事件处理程序属性,如:

var btn = document.getElementById("btn");

btn.onclick=handler;

DOM2级事件处理程序,使用addEventListener和removeEventListener,如对ele绑定click事件:

ele.addEventListener( 
     }),
 
     removeEvent:(                      element.removeEventListener(type,handle,         }             element.detachEvent("on"+type,handle);               element["on"+type] =          }
     }),
 
     getEvent:(              }),
 
     getTarget:(                               }                   }),
 
     preventDefault:(                      event.preventDefault();
         }             event.returnValue =          }
     }),
 
     stopPropagation:(                      event.stopPropagation();
         }             event.cancelBubble =          }
     }),
     
     relatedElement:(                               }                                 })
 };