是否可以在dblclick事件上检测ctrl键状态

Law*_*nti 2 javascript google-maps google-maps-api-3

我正在使用谷歌地图API版本3.我希望我的双击事件处理程序工作如下:

google.maps.event.addListener(map, 'dblclick', function(e) {
  if (/* ctrl is pressed */) {
    doSomething(e)
  } else {
    doSomethingElse(e)
  }
});
Run Code Online (Sandbox Code Playgroud)

它看起来事件处理程序只提供一个MouseEvent,它不包含有关键盘状态的信息.我需要LatLng信息,所以我怀疑我可以使用JQuery的事件处理.

我在这里运气不好吗?

cla*_*rkf 5

您可以只缓存控制键状态

var ctrlPressed = false;
function cacheIt(event) {
    ctrlPressed = event.ctrlKey;
}
document.onkeydown = cacheIt;
document.onkeyup = cacheIt;
Run Code Online (Sandbox Code Playgroud)

现在,ctrlPressed应始终反映控制键是否已关闭.