Javascript 事件处理交叉浏览器问题,mousedown window.Event.clientY

Javascript 事件处理交叉浏览器问题,mousedown window.Event.clientY,javascript,events,firefox,dom,event-handling,Javascript,Events,Firefox,Dom,Event Handling,因此,我在编写脚本时遇到了事件处理问题。整个系统在chrome中运行良好,在safari中,尽管运行速度非常慢,但仍然可以正常工作。在Firefox中,其中一个事件根本不起作用 基本上,在页面加载时,我创建了一组事件侦听器: canvasElem.addEventListener("mousedown",down,false); canvasElem.addEventListener("mouseup",up,false); canvasElem.addEventListener("mousem

因此,我在编写脚本时遇到了事件处理问题。整个系统在chrome中运行良好,在safari中,尽管运行速度非常慢,但仍然可以正常工作。在Firefox中,其中一个事件根本不起作用

基本上,在页面加载时,我创建了一组事件侦听器:

canvasElem.addEventListener("mousedown",down,false);
canvasElem.addEventListener("mouseup",up,false);
canvasElem.addEventListener("mousemove",move,false);
我确信这些事件监听器可以正常工作,但其中一个事件监听器(调用down函数)由于以下两行代码而部分停止运行:

dXImgSpin=(centerXImgSpin-expansionOffsetXImgSpin)-(window.event.clientX);
dYImgSpin=(centerYImgSpin-expansionOffsetYImgSpin)-(window.event.clientY);
现在我明白了(有点明白,我是编程新手,所以我还是有点不知所措),这在firefox中不起作用,因为我使用的是IE DOM模型,而不是W3C模型,但在程序的另一部分,我遇到了问题,/**/我通过添加更改事件处理方式来修复它(又名添加canvasEleem.addEventListener),然后添加一行代码

event = event || window.event;
然后将window.event.clientX更改为event.clientX。但是,当我尝试在这个不同的函数中执行此操作时,上面的代码行甚至不会运行

任何事情都有帮助,如果这个问题措词不当,我很抱歉,但我目前对javascript的理解几乎遇到了障碍,无法理解如何克服它。如果需要更多信息,请毫不犹豫地告诉我

艾萨克

按下向下键时的完整代码流:

canvasElem.addEventListener("mousedown",down,false);

function down(){

mouseDown=1;

getNewAngle();

angleMomentumImgSpin=.005;

}
getNewAngle()函数是一个问题:

function getNewAngle(){

    dX2ImgSpin=dX1ImgSpin;
    dY2ImgSpin=dY1ImgSpin;
    dX1ImgSpin=dXImgSpin;
    dY1ImgSpin=dYImgSpin;



    //THESE ARE THE PART THAT ARE CAUSING THE PROBLEM
    dXImgSpin=(centerXImgSpin-expansionOffsetXImgSpin)-(window.event.clientX);
    dYImgSpin=(centerYImgSpin-expansionOffsetYImgSpin)-(window.event.clientY);


    //This if statement is to avoid the drawing from flipping when the mouse crosses the halfwaypoint
    if (dXImgSpin>0){
    angleImgSpin=(Math.atan((dYImgSpin/dXImgSpin))-angleStartImgSpin);
    }else{angleImgSpin=(Math.atan((dYImgSpin/dXImgSpin))-angleStartImgSpin+(Math.PI))}
    //alert(angle);

}

我想我明白了:down和get new angle函数基于一个事件,添加了getNewAngle(event)然后event=event | | | window.event;并将window.event.clientX更改为event.clientX似乎做到了这一点!希望这实际上是正确的答案,而不是一些没有真正创建解决方案的愚蠢修复,只是隐藏了问题。。。