1

clientX と clientY で少し問題が発生しました。

マウスがウィンドウから出たかどうかを検出し、どこから出たかを知るための小さなイベントを配置しました。問題が発生しました。Firefox では正常に動作しますが、IE では応答として -1 しか送信されません。フレームワークを使用せずにその問題を簡単に解決する方法があるかどうか誰かが知っていますか?

それを再現するための少しのコード:

<html>
  <head>
    <script type="text/javascript">
 document.onmouseout=function(e){
  if (!e) var e = window.event;
  var relTarg = e.relatedTarget || e.toElement;
  if (!relTarg){
  document.getElementById('result1').innerHTML="e.clientY:"+e.clientY+" e.clientX:"+e.clientX;
  }
 };
    </script>

  </head>
  <body>
 <div id="result1">Not Yet</div>
  </body>
</html>

ウィンドウの左側から終了した場合の結果は次のとおりです。

e.clientY:302 e.clientX:-130 (Firefox)

e.clientY:-1 e.clientX:-1 on ie.

前もって感謝します。

4

2 に答える 2

0
if(e.pageX)
    {
        _xmouse = e.pageX;
        _ymouse = e.pageY;
    }
    else
    {
        if(typeof(event) == "undefined") return;
        _xmouse = event.clientX + document.body.scrollLeft;
        _ymouse = event.clientY + document.body.scrollTop;
    }

私のプロジェクトから。それがあなたが必要とするものだと思います

于 2010-03-24T05:46:39.820 に答える