event.target不工作在Firefox上

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

在Chrome浏览器和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" ; } 

请帮助我使它在Firefox上工作

确保将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" ; } 

我用Jquery解决了我的问题。 例如,要获取您可以使用的元素的ID:

 var x = $(this).attr('id');