function xx(e){
e = e ? e : (window.event ? window.event : null); //你的event对象没创建
alert(e.type)}

解决方案 »

  1.   

    <div style=" width:400px;height:100px; background:#FF0000" onclick="xx(event)"></div>
      

  2.   

    一楼的大虾 不是很明白噢
    function xx(e){
    alert(window.event.type)} 
    直接window.event就会出来了
    你那么写也就是当e不为真时给它赋window.event2楼的大虾
    xx()里面一定要有参数吗??
    我看过一些例子  涉及到事件的
    大概都是这么写的
    function del(e){
    e=e||event;
    .....}
    但事实上   前面的del()并没有参数
    那我就很奇怪了 这样传过来的e是null  为什么会这么流行这中写法了(e=e||event)
    直接写成
    function del(){ //不要参数
    e=event;   //测试 这样写ie6  ff都有效果
    .....}
    不明白,或者说这是中通用的写法,传参数来就用 不传就不用(有象有点多此一举啊,那说别人传标识id的数字来怎么办?)
    请指教下吧!!
      

  3.   

    在ie中xx(event)的event相当于window.event这个应该不难理解
    但ff中还真没想过
      

  4.   

    我不是这个意思
    我的意思是说 很多写法中 在触发事件中没有设置参数
    如<div onclick="xx()"></div>
    function xx(e)
    {
    e= e||event
    ......
    }
    div中没这个参数....   既然参数是null  为什么e= e||event专用写法会这么流行了????
      

  5.   

    还有
    参见 javascript高级程序设计 --图灵系列  236页(我买的书是盗版的,正版的不知道是不是这页)<div id="aa" style=" width:400px;height:100px; background:#FF0000" >123</div>
    <script>
    function zz(e){
       if(e.type=="click")
          alert("XXXX")
    }
    document.getElementById("aa").onclick=zz
    </script>
    书上面虽然不是这么写的 ,但是意思是一样的    按道理来说书上的应该是对的,但是我调试通不过
    因为获取不到e
      

  6.   

    可以e=e||event
    e是null的 那e=不就等于event了吗?(PS: 这是我的理解.........)