【问题标题】:Nokia Here maps Javascript error (Internet Explorer with touch screen)诺基亚 Here 映射 Javascript 错误(带触摸屏的 Internet Explorer)
【发布时间】:2014-03-25 11:20:28
【问题描述】:
我遇到了诺基亚 Here Maps(v2.5.3 和 2.5.4)的问题,我在页面上实例化了一张地图,我的控制台中一直记录 Javascript 错误:
无法获取未定义或空引用文件的属性“长度”:http://js.api.here.com/se/2.5.4/base.js Line:218
我调试发现这个错误是在“pointercancel”事件之后抛出的,代码想在“event.changeTouches”上循环,但是规范化的事件对象中不存在“changedTouches”条目。
要测试此问题,您只需在触摸屏上使用 Internet Explorer(10 或 11)。
问候,
大卫
【问题讨论】:
标签:
javascript
internet-explorer
debugging
here-api
pointer-events
【解决方案1】:
如果您使用的是 jQuery,请使用 event.originalEvent:
function(e) {
var evt = e.originalEvent,
var touch = evt.changedTouches[0];
...
}
try/catch 也会有所帮助:
try
{
for(var i=0; i < evt.changedTouches.length; i++){}
}
catch(e)
{
location.hash = "event.changedTouches does not exist";
}
参考文献