firefox 没用过
顶了,document.getElementById("btntest").onclick = function(){};他不支持这样吗?

解决方案 »

  1.   

    <input name="btntest" type="button" id="btntest" value="test"/>
    <input name="btntest2" type="button" id="btntest2" value="test" onclick="kkk.test()//get undefined"/>
    <script language="javascript">
    var kkk={}
    kkk.test=function (e){
    if(window.ActiveXObject)
    e=event;
    alert(e.type);
    }
    document.getElementById("btntest").onclick=kkk.test;//get [object Mouseevent]
    </script>没问题啊,IE和FF下都能用
      

  2.   

    <input name="btntest" type="button" id="btntest" value="test"/>
    <input name="btntest2" type="button" id="btntest2" value="test" onclick="kkk.test()//get undefined"/>
    <script language="javascript">
    var kkk={}
    kkk.test=function (e){
    if(window.ActiveXObject)
    e=event;
    alert(e.type);
    }
    document.getElementById("btntest").onclick=kkk.test;//get [object Mouseevent]
    </script>你的是FF几呢?我这里是1.5.0.1,点btntest2的时候结果是e has no properties
      

  3.   

    <input type=button id=testId vlaue=test>
    你可以写成 onclick="mm(e)"
    function mm(e)
    {
      e = event||e; e=e.srcElement||e.target;
      alert(e.tagName);
    }也可以这样定义 
    document.getElementById("testId").onclick = function(e)
    {
      e = event||e; e=e.srcElement||e.target;
      alert(e.tagName);
    }
      

  4.   

    onclick="mm(e)" => e is not defined
      

  5.   

    sorry, 写得太快了<input type=button id=testId vlaue=test>
    你可以写成 onclick="mm(event)"
    function mm(e)
    {
      e = event||e; e=e.srcElement||e.target;
      alert(e.tagName);
    }也可以这样定义 
    document.getElementById("testId").onclick = function(e)
    {
      e = event||e; e=e.srcElement||e.target;
      alert(e.tagName);
    }
      

  6.   

    还是一样, event is not defined
    <input type=button id=testId vlaue=test onclick="mm(event)">
    你可以写成 onclick="mm(event)"
    <script>
    function mm(e)
    {
      e = event||e; e=e.srcElement||e.target;
      alert(e.tagName);
    }</script>
      

  7.   

    唉,拳不离手,一离手就生了,我就偷了一回懒呀。
    <input type=button id=testId vlaue=test>
    你可以写成 onclick="mm(event)"
    function mm(e)
    {
      e = e||event; e=e.target||e.srcElement; //写反了
      alert(e.tagName);
    }也可以这样定义 
    document.getElementById("testId").onclick = function(e)
    {
      e = e||event; e=e.target||e.srcElement;
      alert(e.tagName);
    }
      

  8.   

    http://blog.czw.name/archives/71.html这个帖子上有
    还收集了一些其他的对比~~
    希望对楼主有用~
      

  9.   

    这个行了,谢谢梅大侠,能不能讲讲为什么用mm(event)就能调用呢?
    mm(event)里的event在FF里面起什么作用呢?
    ---------------------------
    唉,拳不离手,一离手就生了,我就偷了一回懒呀。
    <input type=button id=testId vlaue=test>
    你可以写成 onclick="mm(event)"
    function mm(e)
    {
      e = e||event; e=e.target||e.srcElement; //写反了
      alert(e.tagName);
    }也可以这样定义 
    document.getElementById("testId").onclick = function(e)
    {
      e = e||event; e=e.target||e.srcElement;
      alert(e.tagName);
    }
      

  10.   

    e = e||event; e=e.target||e.srcElement; //写反了
    这个不是反了
    e = window.event || e; e=e.target||e.srcElement; 
    这样也行的.只不过只写event不好用能不能讲讲为什么用mm(event)就能调用呢?
    mm(event)里的event在FF里面起什么作用呢?
    -----------------------
    你用 alert(document.getElementById("testId").onclick);
    看一下就知道了。
    function onclick(event) { 
        mm(event);
     }
    这是结果。它默认传递了一个event对象,就是事件对象,你在函数里用mm(event)就是将onclick(event)这个参数传了进去。如果用mm(e)当然不起作用,
      

  11.   

    对比ie和firefox的鼠标和键盘处理的差异,见
    http://community.csdn.net/Expert/TopicView.asp?id=4406701