【问题标题】:How do you capture mouseout on window?你如何在窗口上捕获鼠标移出?
【发布时间】:2016-01-04 19:14:24
【问题描述】:

问题还没有答案(如果您可以提供有效的代码,而不是在谷歌上搜索我的问题并链接到任何为甜蜜的互联网点而出现的答案,那么我将接受它作为答案。但由于我已经回答了所有这些问题,除非你能提供你测试过的实际代码,否则不要假装它们有效)

如果你这样做

$(window).on("mouseout", function() { alert("OUT"); });

您可以在窗口的左侧或右侧鼠标移出,它不会触发事件。我做了一个 jsfiddle here 但它实际上工作正常,因为 iframe 周围有一个边框。

那么知道鼠标是否离开窗口的最好方法是什么?我可以在页面周围放置一个 1px 的边框(由 4 个 div 组成)。我可以监控 x/y 并判断鼠标是否在边缘。但理想情况下 $(window).on("mouseout", foo) 会告诉我鼠标何时离开窗口。

【问题讨论】:

标签: javascript


【解决方案1】:

此答案有效:https://stackoverflow.com/a/3187524/2831645

使用 jQuery 你可以像这样重写代码:

$(window).on("mouseout", function(e) {
    if(!e.relatedTarget || e.relatedTarget.nodeName == 'HTML') {
        alert('left window');
    }
});

代码已在最新的 Firefox 和 Chrome 上测试。

【讨论】:

  • 你这个男人!这对我来说适用于垂直和水平鼠标输出。
猜你喜欢
  • 2021-01-13
  • 2013-08-12
  • 1970-01-01
  • 2011-01-29
  • 2010-12-11
  • 2011-10-08
  • 1970-01-01
  • 2012-11-23
  • 1970-01-01
相关资源
最近更新 更多