5

ウィンドウのイベントmouseupがIE 7および8には存在しないことを理解しています.誰かがこれに対する回避策を見つけたのか、それとも可能かどうか疑問に思っていました.

私は現在、ユーザーがクリック、ドラッグして線を描くことができるプロジェクトに取り組んでおり、ユーザーがウィンドウの外にドラッグてマウスを放すと、描画トランザクションがキャンセルされます。

4

2 に答える 2

2

あなたの難しさは、イベントの範囲を失う窓からのもののように聞こえます.

jQueryを使用していますか?jQuery を使用すると、mousemove イベントにタグを付けて、"which" 属性を使用してボタンが押されたかどうかを検出することもできます。これは、ウィンドウに戻ったときにも発生します。ただし、窓の外にいるときは発火しません。

別の方法として、 $(window).mouseleave を使用して、ウィンドウを離れたことを検出することもできます。ただし、一度ウィンドウを離れると、それ以上のマウス イベントを検出できません (デスクトップなどで右クリックしたときに検出できるとしたら、それは恐ろしい欠陥です)。

そのため、すべてのブラウザーのブラウザー セキュリティの実装によって多少制限され、それを回避することはできません。ただし、イベントを回避するいくつかの回避策を追加して、「同様の」エクスペリエンスを提供できます。

于 2013-03-08T21:44:38.630 に答える
0

直接ではありませんが、これでうまくいくと思います。

mousemoveイベントでは、Event.buttonsプロパティを確認してください。ゼロの場合、ユーザーはウィンドウの外でマウスを離している必要があり、ドラッグをキャンセルできます。

私は今これのブラウザの互換性をチェックしているので、この答えは編集されるかもしれません。私のコンピュータは今遅いです!

于 2013-03-08T21:28:13.527 に答える