【发布时间】:2013-08-19 05:01:03
【问题描述】:
如果 <canvas> 元素未在页面顶部,我遇到 Internet Explorer 10 无法正确注册鼠标位置的问题。打开 IE10 并查看下面的链接。
问题:
单击此链接并尝试拖动图形的节点: http://ffi-server.no-ip.biz:257/test/good.html
现在,在此页面上尝试相同的操作:http://ffi-server.no-ip.biz:257/test/bad.html
有趣的是,IE9没有这个问题,添加<meta>标签告诉IE10像IE9一样渲染页面并不能解决这个问题。
可能的解决方案?
我想我找到了有问题的代码行,但我不知道如何纠正它。看3044行:http://pastebin.com/82GJBiEB
我只是不知道如何纠正它。我相信 IE10 报告的 e.pageY 值与正常工作的浏览器不同。您可以通过单击此页面上画布的不同区域来验证这一点:http://ffi-server.no-ip.biz:257/test/alert.html 并查看 IE10 中报告的值,比如说。铬。
有人可以提出解决此问题的方法吗?
感谢您的宝贵时间!
【问题讨论】:
-
您正在使用 jQuery,因此您需要排除它作为错误的原因。除了显示
e.pageY之外,还显示e.originalEvent.pageY以查看 jQuery 是否可能错误地“更正”了该值。 -
@Brandon 我后来发现,jQuery 是错误:bugs.jquery.com/ticket/12343。无法正确计算鼠标在IE10中的位置。
标签: javascript jquery html canvas internet-explorer-10