マウスが動かなくてもwebkitとsafari fire mousemove
-
25-09-2019 - |
質問
私はどこで問題について読みました mousemove
イベントはsafari/webkitで2回発射されますが、私が直面している問題は mousemove
マウスがそうであっても火災 いいえ 動いた。つまり、マウスカーソルがページがロード/更新されたときにイベントが添付されているというコンテキストの上に配置されている場合、すでに発火します。そして、私はそれを取り付けているからです document
(ブラウザのビューポート全体)、サファリですぐに発射されます。私はそれをに取り付けようとしました html
要素、に body
そしてラッパーに div
. 。変化なし。
$(document).bind('mousemove', function() {
alert('Mouse moved!');
$(document).unbind('mousemove');
});
他のブラウザでは問題なく動作しますか。私が間違っていることを見ている人はいますか?ありがとう。
解決
私はそれが汚いハックであることを知っていますが、少なくともこれは何かです:2回目にコールバック関数を実行するだけです mousemove
解雇されます。
var $document = $(document), i = 0;
$document.bind('mousemove', function() {
if (++i > 1) {
alert('Mouse moved!');
$document.unbind('mousemove');
};
});
デモ: http://fiddle.jshell.net/yz5bd/show/light/
それが価値があることのために、Safariは唯一のブラウザの発射ではありません mousemove
ページの読み込み - つまり、それも行います。とにかく、他のブラウザを使用している人は、マウスを1つのピクセルのみを移動することは事実上不可能であるため、「遅延」に気付くことはありません。
所属していません StackOverflow