我已经阅读了在Safari / Webkit中两次触发mousemove
事件的问题,但我遇到的问题是即使鼠标不是<{1}}也会触发/ strong>感动。也就是说:当鼠标光标位于加载/刷新页面时附加事件的上下文之上时,它已经触发。因为我将它附加到mousemove
(浏览器的整个视口),它会立即在Safari中激活。我已尝试将其附加到document
元素,html
和包装body
。没有变化。
div
在其他浏览器中是否可行。有谁看到我做错了什么?感谢。
答案 0 :(得分:1)
我知道这是一个肮脏的黑客攻击,但至少这是:只需在第二次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
的浏览器 - IE也是如此。无论如何,使用其他浏览器的人不会注意到“延迟”,因为几乎不可能只移动鼠标一个像素。