如何在IE8及以前版本中处理mousemove
How is mousemove handled in IE8 and previous?
http://www.quirksmode.org/dom/events/mousemove.html在IE8上为文档处理了mousemove事件,但没有为窗口处理,但我目前有:
try
{
document.onmousemove = drag.on_mouse_move;
}
catch(error)
{
if (typeof document.attachEvent !== undefined)
{
document.attachEvent("onmousemove", drag.on_mouse_move);
}
}
第一个实际语句在IE8中抛出一个错误,最后一个语句也是如此。后一个错误声称类型不匹配;前一个错误抛出"未实现"
如何/应该在IE8中注册mousemove事件侦听器(/7/6)?
你不应该支持IE6,即使是MS也放弃了浏览器,感谢上帝。我刚刚在IE8中尝试了以下代码:
if (document.attachEvent)
{
document.attachEvent('onmousemove',function(e)
{
e = e || window.event;
alert(e.type);
});
}
它就像一种魅力。只是一个提示:正常的尝试捕获序列是:
try
{//FF, webkit, opera, IE>8
document.addEventListener('mousemove',function(){},false);
}
catch (e)
{//IE >6 (7?)
document.attachEvent('onmousemove',function(){});
}
finally
{//browsers that must die
try
{
document.onmousemove = function(){};
}
catch(die)
{
alert('Use a decent browser.');
location.href = 'http://www.mozilla.org/en-US/firefox/new/';
}
}
attachEvent用于委派,在大多数情况下,这比直接绑定更可取。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- keyup事件处理程序更改焦点不适用于快速键入
- 如何使用jquery处理php循环通过元素
- angular.js没有'无法在PhoneGap中处理视图标记
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 提示使用服务器端事件处理程序激活JavaScript
- JS编译器/包管理器,用于版本控制
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- Chrome加载旧版本的Javascript文件
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何编写一个具有公共标头的批处理
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 如何在IE8及以前版本中处理mousemove
- removeEventListener似乎正在获得不同版本的处理程序
- 使用jQuery,如何触发由另一个版本的jQuery处理的事件
- 如何在JMVC/Can.js中处理应用程序的版本控制
- indexedDB中的升级事件处理程序错误导致版本更改事务中止
- 处理同一个repo的多个版本
- 处理两个jQuery版本