通过javascript引用firefox事件对象

通过javascript引用firefox事件对象,javascript,firefox,javascript-events,google-maps-api-2,Javascript,Firefox,Javascript Events,Google Maps Api 2,我仍然在使用google maps v2,当google事件触发时,我很难从firefox获取事件对象。最后,我需要event对象,以便在触发特定覆盖的click事件时检索有关按键的信息。下面是一些代码: GEvent.addListener(polys[i], "click", function(e) { var evtObj = window.event? event : e; for (var i=0; i<polys.length; i++) { i

我仍然在使用google maps v2,当google事件触发时,我很难从firefox获取事件对象。最后,我需要event对象,以便在触发特定覆盖的click事件时检索有关按键的信息。下面是一些代码:

GEvent.addListener(polys[i], "click", function(e) {
    var evtObj = window.event? event : e;
    for (var i=0; i<polys.length; i++) {
        if ( this == polys[i] ) {
            if (evtObj.ctrlKey) {
                map.closeInfoWindow();
                clickCounty(labels[i]);
            }
            other stuff to happen....
        }
});
GEvent.addListener(polys[i],“click”,函数(e){
var evtObj=window.event?事件:e;

对于(var i=0;i没有很好的方法可以做到这一点。我建议将事件绑定到
polys[i]
对象的DOM版本(通常在类似
polys[i].Zk的内容中引用)与其使用
GEvent.addListener
,不如在贴图加载后使用渲染对象并附加到该对象,而不是在
polys[i].Zk中查找它

例如,如果您的对象是一个img标记,您可以这样做(使用jQuery进行速记,尽管我知道您没有使用jQuery进行标记):

$(“#映射框”)。在('click','img',函数(evtObj)上{
对于(var i=0;i
$('#map-box').on('click', 'img', function(evtObj) {
  for (var i=0; i<polys.length; i++) {
    if ( this == polys[i].Zk ) {
      if (evtObj.ctrlKey) {
        map.closeInfoWindow();
        clickCounty(labels[i]);
      }
      other stuff to happen....
    }
  ...
});