比如<div onmousedown="test();"></div>
在IE下没问题,在firefox就不能触发,请问有没有什么替代方案?

解决方案 »

  1.   

    test里的内容是什么呢?FF下onmousedown是可以触发的,关键是test里你是怎么写的?给你个提示:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>FF&IE</title>
    <script type="text/javascript">
    var agent=window.navigator.userAgent;
    var agentType=(agent.indexOf('MSIE')<1)?'FF':'IE';function test(event)
    {
      var e=window.event||event;
      var getFocus=(agentType=='IE')?e.srcElement:e.target;
      alert(getFocus.tagName);
    }document.onmousedown=test;
    </script>
    <style type="text/css">
    div{
        border:10px solid;
        height:30px;
        width:200px;
    }
    </style>
    </head><body>
    <div></div>
    </body>
    </html>
      

  2.   

    是不是onmousedown的触发处理函数放在html里则firefox没反应?
      

  3.   

    不是啊,onmousedown在各种浏览器下都可以触发。我给的例子是说你test里是否有需要传递事件的代码,这个地方不同浏览器有不同的讲究~~ 你最好把test函数贴出来。。
      

  4.   

    <div onmousedown="test();"></div>
    script我是用src="jjj.js"引用过来的,其中包含一句document.onmousedown=test和test函数
    function test(ev){
    ev = ev || window.event;
    var agent=window.navigator.userAgent;
    var agentType=(agent.indexOf('MSIE')<1)?'FF':'IE';
    var obj=(agentType=='IE')?ev.srcElement:ev.target;
    ……………………
             ……………………
             //略过若干
    }
      

  5.   

    结果是ie里边有反应ff里边没有反应
      

  6.   

    如果照你没有省略的地方写,我这边没有发现任何问题~~如果你想发现问题,我建议你看看ff里Error Console是否报错,报什么错
      

  7.   

    你可以用firefox帮我测试一下,我这个拖动效果它就是出不来在firefox下面