IE 系列浏览器通过 window.event 对象传递事件发生时相关信息
非 IE 浏览器通过参数传递事件发生时相关信息所以
function (event) {
        e = event ? event : (window.event ? window.event : null);是 js 的跨浏览器的兼容写法

解决方案 »

  1.   

    我是说function (event),为什么括号里要写一个event?
      

  2.   

    你程序里用到event这个变量了,
    同时你又 没有定义这个变量,如果不写到参数里,e就可能是未定义,e.keyCode就不存在。
      

  3.   

    event不是一个对象吗?本来就存在的啊
      

  4.   

    event不是一个对象吗?如果只是一个普通参数,我不是可以把它改成任意值?
      

  5.   

    真的改成任意值都可以啊,我更糊涂了啊,为什么随便一个参数都有keycode属性?
      

  6.   

    参数名你可以随便改,传过来的对象还是那个那event和window.event有什么区别?
      

  7.   


    事件触发时会给函数传递一个对象的引用,这个对象的引用要用一个变量来接收,对于变量名当然可以随意起了
    那event和window.event有什么区别? 请问你写js用什么工具?我昨天刚刚装了Zend studio12.0.1,可是对js的代码不能像vs2013那样有提示啊,听说要下插件?真的一定要下插件吗?
      

  8.   


    事件触发时会给函数传递一个对象的引用,这个对象的引用要用一个变量来接收,对于变量名当然可以随意起了
    那event和window.event有什么区别? 请问你写js用什么工具?我昨天刚刚装了Zend studio12.0.1,可是对js的代码不能像vs2013那样有提示啊,听说要下插件?真的一定要下插件吗?
    window.event对象是个全局对象,只有IE浏览器才支持。 当事件发生时会自动更新对象的各个属性。非IE浏览器没有window.event这个全局对象,它们是在事件触发时给事件函数传递一个event对象的引用,以实现同样的功能
    我写js用Sublime Text 3。要想有代码提示,也是要安装好多插件的
      

  9.   


    事件触发时会给函数传递一个对象的引用,这个对象的引用要用一个变量来接收,对于变量名当然可以随意起了
    那event和window.event有什么区别? 请问你写js用什么工具?我昨天刚刚装了Zend studio12.0.1,可是对js的代码不能像vs2013那样有提示啊,听说要下插件?真的一定要下插件吗?
    window.event对象是个全局对象,只有IE浏览器才支持。 当事件发生时会自动更新对象的各个属性。非IE浏览器没有window.event这个全局对象,它们是在事件触发时给事件函数传递一个event对象的引用,以实现同样的功能
    我写js用Sublime Text 3。要想有代码提示,也是要安装好多插件的
    为什么我把window.event改成window.a也可以兼容全部浏览器啊?
      

  10.   


    帮忙看看这个问题啊,http://bbs.csdn.net/topics/390980532,谢谢了。楼主,不好意思啊,借你的帖子发表一下。
      

  11.   


    事件触发时会给函数传递一个对象的引用,这个对象的引用要用一个变量来接收,对于变量名当然可以随意起了
    那event和window.event有什么区别? 请问你写js用什么工具?我昨天刚刚装了Zend studio12.0.1,可是对js的代码不能像vs2013那样有提示啊,听说要下插件?真的一定要下插件吗?
    window.event对象是个全局对象,只有IE浏览器才支持。 当事件发生时会自动更新对象的各个属性。非IE浏览器没有window.event这个全局对象,它们是在事件触发时给事件函数传递一个event对象的引用,以实现同样的功能
    我写js用Sublime Text 3。要想有代码提示,也是要安装好多插件的
    为什么我把window.event改成window.a也可以兼容全部浏览器啊?
    因为在新版本的IE浏览器中支持window.event对象的同时也会在事件触发时给事件函数传递一个event对象的引用