如何使用 IE 阻止 Google Earth 中的默认事件操作

发布于 2024-12-11 08:01:04 字数 629 浏览 0 评论 0原文

我在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魔法唧唧 2024-12-18 08:01:05

正如 event.preventDefault() 函数在 IE 中不起作用<中所回答的/a>

function test(e) {
    e.preventDefault ? e.preventDefault() : e.returnValue = false;
}

as answered in event.preventDefault() function not working in IE

function test(e) {
    e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文