Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用IE防止Google earth中的默认事件操作_Javascript_Google Earth - Fatal编程技术网

Javascript 如何使用IE防止Google earth中的默认事件操作

Javascript 如何使用IE防止Google earth中的默认事件操作,javascript,google-earth,Javascript,Google Earth,我在IE(8)的e.preventDefault()方面遇到了问题 一切都在Chrome中工作(这意味着执行是正确的,并且默认操作被阻止)。然而,在IE中,执行是正确的,但默认操作也会发生 在进一步的调查中,我发现每当我查看事件对象时,它都会失败(没有错误,只是静静地退出处理程序) 我删除了所有代码,并将其归纳如下: google.earth.addEventListener(spot.placemark, 'click', test); function test(e){ alert(1

我在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;
但这也有同样的效果。谢谢你的指点。谢谢

中的回答


但是观察e的行为本身就导致了“没有这样的属性”的错误。我可以用try/catch来解决这个问题。但这并不能帮助我实际设置
e.returnValue
function test(e) {
    e.preventDefault ? e.preventDefault() : e.returnValue = false;
}