Javascript ShiftKey mouseEvent未识别按下的键

Javascript ShiftKey mouseEvent未识别按下的键,javascript,google-maps,mouseevent,Javascript,Google Maps,Mouseevent,我有这个功能,在gogole地图圈上,它工作得很好。但现在它不再检测shiftKey,总是返回false,我不知道为什么。 还尝试了v=3,v=3.25,v=3.26,v=3.30和v=3.31 <script src="//maps.googleapis.com/maps/api/js? v=3.30&key=XXX&libraries=drawing&callback=initMap"></script> if (myCondittio

我有这个功能,在gogole地图圈上,它工作得很好。但现在它不再检测shiftKey,总是返回false,我不知道为什么。
还尝试了
v=3
v=3.25
v=3.26
v=3.30
v=3.31

<script src="//maps.googleapis.com/maps/api/js? 
 v=3.30&key=XXX&libraries=drawing&callback=initMap"></script>


if (myCondittion) {
         myObj.addListener('click', function (event) {
            if (!shiftKeyPressed(event)) {
               //DoSOmething

            }
            } else {
               //DoSomethingElse
            }
         });
}


function shiftKeyPressed(event) {

   for (var key in event) {
      if (event[key] instanceof MouseEvent) {
         event["mouseEvent"] = event[key];
      }
   }

   var isPressed = event["mouseEvent"].shiftKey;
   console.log( event["mouseEvent"] );
   return isPressed;
}

if(真菌病){
myObj.addListener('click',函数(事件){
如果(!shiftKeyPressed(事件)){
//剂量
}
}否则{
//多索霉素
}
});
}
按下功能移位键(事件){
for(事件中的var键){
if(事件[键]MouseEvent的实例){
事件[“mouseEvent”]=事件[键];
}
}
var isPressed=事件[“mouseEvent”]。shiftKey;
日志(事件[“mouseEvent”]);
返回显示;
}

我想补充一点,shiftkey、altkey和ctrlkey也有这个问题。我在实验版本上,它一直工作得很好,直到大约一周前,当它被发布时

作为解决方案,我创建了全局变量:

var _keydownEvent;

var setKeydownEvent = function(e){
  _keydownEvent = e;
}

var getKeydownEvent = function(){
  return _keydownEvent;
}

app.setKeydownEvent = setKeydownEvent;
app.getKeydownEvent = getKeydownEvent;
全球听众:

$(window).bind('keydown', function(e){
  app.setKeydownEvent(e);
});

$(window).bind('keyup', function(e){
  app.setKeydownEvent(e);
});
在我的地图中:

getCtrlKeyStatus: function(e) {
  var ret = false;
  var global_event = app.getKeydownEvent();

  if (typeof(global_event) === 'object'  && global_event.ctrlKey) {
    ret = true;
  }
  return ret;
},

别忘了评论否决票和接近票的原因。没有解释就无法帮助社区这么做。这是实验版本吗?你能尝试不同版本的API吗:@xomena我没有指定版本(根据文档,这意味着实验版本),现在我尝试了上一个版本,它是
v=3.26
,问题仍然是一样的。shift+单击正在发生,但是
shiftKey
的属性始终返回false。发布版本现在是3.31,而不是3.26。我猜你正在阅读翻译成你的语言的文档,它是过时的检查总是英文版本。如果它在3.30、3.31和3.32中不起作用,这意味着这个变化发生在3.29和3.30之间。我建议在jsbin或JSFIDLE上创建一个示例,并在他们的文档中直接向谷歌提出这个问题。这个翻译不是有意的,现在它说的确实是
3.30
。谢谢但问题仍然是一样的,我现在所做的是保存shiftkey的
onkeydown/up
,并在单击时检查它。但我不想使用全局变量=\仅在google maps中它不起作用。