全屏模式下的 JavaScript 鼠标移动事件
javascript mousemove event in fullscreen
出于某种原因,在PC上的chrome中(在Mac上没有发生(,当您进入全屏时,会弹出内置的chromediv,说您现在处于全屏模式,当div消失时,它会触发mousemove
事件。知道为什么吗?
var idleTimer;
$videoContainer.mousemove(function()
{
if (!$jsplayer.prop('paused'))
{
if (idleTimer)
{
clearTimeout(idleTimer);
$videoControls.stop(true,true).animate({opacity:1}, animationDuration);
}
idleTimer = setTimeout(function(){
$videoControls.stop(true,true).animate({opacity:0}, animationDuration);
},3000);
}
});
它基本上导致我的空闲鼠标函数在鼠标实际上没有移动时触发。这似乎只发生在铬中。PC上的Firefox不这样做,Mac上的chrome不这样做。我正在使用google chrome 30.0.1599.69 m
溶液
var idleTimer;
var prevX;
$videoContainer.mousemove(function(e)
{
if (!$jsplayer.prop('paused'))
{
if (idleTimer)
{
clearTimeout(idleTimer);
if (prevX != e.clientX) $videoControls.stop(true,true).animate({opacity:1});
}
prevX = e.clientX;
idleTimer = setTimeout(function(){
if (!$jsplayer.prop('paused')) $videoControls.stop(true,true).animate({opacity:0}, animationDuration);
},3000);
}
});
您可以使用这样的函数:
(注意:我使用全局变量窗口,请记住用全局变量更改它!
window.prev_x = null;
function mousemover(e) {
if ((window.prev_x != null) && (window.prev_x != e.x)) {
alert(e.x + ' - '+ window.prev_x);
}
window.prev_x = e.x;
};
document.addEventListener('mousemove', mousemover, false);
为了避免此事件,我猜该事件会在鼠标更改此窗口然后返回 Chrome 的 DOM 时触发。
相关文章:
- js:停止鼠标移动
- Zingchart-平移键和鼠标移动
- 在鼠标上触发鼠标移动'的当前位置
- 当用户将鼠标移到屏幕/图表上时,自动滚动将暂停.如果鼠标移动停止,自动滚动将再次恢复
- 如何在谷歌地图上用鼠标移动标记
- 如何在鼠标移动事件时更改图像的窗口中心和宽度
- 如何模仿鼠标移动和事件
- 鼠标点击不会'不起作用,鼠标移动可以
- 有没有办法提高鼠标移动的分辨率
- 如何在JS中随机化backgroundPosition而不使用鼠标移动来制作万花筒的动画
- 如何使用onmousemove函数在每次鼠标移动时更改背景图像
- 使用jQuery/CSS设置的鼠标光标在鼠标移动之前不会更改
- 在谷歌地图中用鼠标移动标记
- 在HTML5画布中绘制鼠标移动的半透明线条
- 如何使用Protractor/Senium将鼠标移动到任意点
- 防止鼠标移动对elementFromPoint的攻击
- 如果鼠标悬停得很快,Jquery鼠标移动会错过一些单元格
- 检查人员是否通过鼠标移动离开网站
- 使用鼠标移动操作选择选项
- 如何在D3Javascript中将鼠标移动到节点上时显示和隐藏节点