如何使用 IE 阻止 Google Earth 中的默认事件操作
我在使用 IE(8) 的 e.preventDefault() 时遇到问题。
Chrome 中一切正常(意味着执行正确,并且默认操作被阻止)。然而,在 IE 中,执行是正确的,但也会发生默认操作。
在进一步调查中,我发现每当我查看事件对象时,它都会失败(没有错误,只是安静地退出处理程序)。
我删除了所有代码并将其简化如下:
google.earth.addEventListener(spot.placemark, 'click', test);
function test(e){
alert(1);
e.returnValue = false;
alert(2);
if(e.preventDefault) e.preventDefault();
alert(3);
return(false);
}
因此,对于 IE,只有第一个警报会触发。有了铬,它们都会着火。如果我颠倒警报 2 和警报 3,仍然只会触发警报 1。从根本上讲 - 接触 e 失败。
我还尝试使用 window.event 对象而不是依赖于 e 的传递值。
var e = window.event;
但这也有同样的效果。感谢一些指点。谢谢
I'm having trouble with e.preventDefault() for IE(8).
Everything works in Chrome (meaning the execution is correct, and the default action is prevented). However, in IE, the execution is correct but the default action happens as well.
In further investigation I found that whenever I look at the event object, it fails (no error, just exits the handler quietly).
I removed all the code and boiled it down as follows:
google.earth.addEventListener(spot.placemark, 'click', test);
function test(e){
alert(1);
e.returnValue = false;
alert(2);
if(e.preventDefault) e.preventDefault();
alert(3);
return(false);
}
So with IE, only the first alert fires. With chrome they all fire. If I reverse alert 2 and alert 3, still only alert 1 fires. Fundamentally - touching e fails.
I also tried using the window.event object instead of relying on the passed value of e.
var e = window.event;
But that had the same effect. Appreciate some pointers. Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如 event.preventDefault() 函数在 IE 中不起作用<中所回答的/a>
as answered in event.preventDefault() function not working in IE