event.target无法在Firefox上运行

nik*_*iko 17 javascript firefox javascript-events firefox3.5

 var x = event.target||event.srcElement;
 document.getElementById(x.id).style.left =  200 + "px" ;
 document.getElementById(x.id).style.top  =  100 + "px" ;
Run Code Online (Sandbox Code Playgroud)

适用于谷歌浏览器和IE浏览器,但不适用于Firefox.在谷歌上尝试过.谷歌说event.srcElement(适用于IE但不适用于Firefox)所以我添加了event.target但仍然无法正常工作.我需要做什么改变才能在firefox上工作吗?顺便说一句,我使用3.5版本的Firefox.

       function up()
           {
                dragok = false;
                document.onmousemove = null;
                var x = event.target||event.srcElement;
                document.getElementById(x.id).style.left= 200 + "px" ;
                document.getElementById(x.id).style.top= 100 + "px" ;
           } 
Run Code Online (Sandbox Code Playgroud)

请帮助我使它在Firefox上运行

use*_*716 45

确保将其定义event为处理程序的形式参数.

IE全局定义它,并Chrome在两个地方定义它,因此它可以以任何方式工作,但Firefox只将其定义为函数参数.

function up( e ) {
    //       ^-----------------------------------------------------+
    if( !e ) e = window.event; // <---needed this --- and this ->--+

    dragok = false;
    document.onmousemove = null;
    var x = e.target||e.srcElement; // <--- and these
    document.getElementById(x.id).style.left= 200 + "px" ;
    document.getElementById(x.id).style.top= 100 + "px" ;
} 
Run Code Online (Sandbox Code Playgroud)