本人最近做一个控件,因为要兼容firefox和ie,所以在事件处理方面很费了些许时间,因此把心得和大家分享一、ie处理事件的机制 采用事件冒泡策略,事件从最底层的element冒泡到最顶层的window,在事件函数里面获取事件对象用全局变量window.event就可以了,非常简单,二、firefox的事件的机制 在firefox中,事件处理过程复杂一些,先采取事件传播机制,从最顶层的window到最底层的element,再冒泡回到最顶层的window事件对象是没有全局的,采用参数传到事件处理函数里面,获取方法有两种1.默认是事件处理函数的第一个参数,也是唯一的参数,这时,事件的处理函数必须动态添加,不能写到html标记里面function check(aaa)
{
    alert(aaa); }<input type=text id="txt1"/>document.getElementById("txt1").onclick = check;或者function check()
{
    alert(arguments[0]);}<input type=text id="txt1"/>document.getElementById("txt1").onclick = check;----------------------显示: [object MouseEvent]2.可以在事件处理函数中显式的传递名为event的参数,这时事件处理函数写入html标记,并且可以传递自己的参数并且不能象上面第一种方式一样动态添加了function check(str1,str2)
{
    alert(str1);    alert(str2);}<input type=text id="txt1" onclick="check('111',event)"/>----------------------显示: 111,[object MouseEvent]