【问题标题】:IE bind mousemove to bodyIE绑定mousemove到body
【发布时间】:2011-11-07 15:11:54
【问题描述】:

我正在尝试将 mousemove 事件绑定到正文。到目前为止我的尝试:

$('html, body').mousemove(function(event){...});

$('html, body')[0].onmousemove= function(event){...};

$('body').bind('mousemove', function(event){...});

document.onmousemove = function(event){...};

document.getElementsByTagName('body')[0].onmousemove = function(event){...};

编辑:

window.onmousemove = function(event){...}; // doesn't work either

EDIT2:我需要整个身体都响应,而不仅仅是嵌套元素。

所有这些都有效,但在 IE 中没有。

我该如何解决这个问题?

【问题讨论】:

  • 你试过了吗:window.onmousemove = ...
  • IE的版本是9,我现在用window.onmousemove试试(不是本地电脑,需要一些时间)
  • 如果你将它绑定在身体上(无论出于何种原因),身体实际上有大小吗?我在这里进行了大胆的猜测,但是您的身体是否只有很小的高度,而您可能期望可见的窗口就是身体?
  • Sime Vidas:不,它没有(?!——奇怪……)里面的一些元素。
  • @Sime Vidas,再次:对不起,现在我明白它的作用了。但是,我需要整个身体都在聆听,而不仅仅是其中的文本元素。

标签: javascript internet-explorer events bind mousemove


【解决方案1】:

您不希望它在正文中,因为正文不一定是整页。

$( document ).mousemove( function () {

});

jsfiddle:http://jsfiddle.net/uDfPj/

或者不使用 jQuery:

document.documentElement.onmousemove = function(){};

【讨论】:

  • 这行得通,但我之前做错了什么:我忘记了<!DOCTYPE html>
【解决方案2】:

我怀疑 onMouseMove 事件是否与 body 标签相关联。你可以在窗口标签上试试吗?不过我没试过。

【讨论】:

    【解决方案3】:

    改用文档试试。这是一个很好的示例页面,显示它可以正常工作

    http://www.quirksmode.org/dom/events/tests/mousemove.html

    和兼容性表: http://www.quirksmode.org/dom/events/mousemove.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      相关资源
      最近更新 更多