单击圆圈时检测shitfKey是否关闭

时间:2017-11-24 11:04:49

标签: javascript google-maps events

当我点击google.maps.circle(...)时,我试图检测是否按下shiftKey。

喜爱 这个问题可能已经有了答案:

我有处理程序:

myObj[id] = new google.maps.Circle({/*Initialization*/}
myObj[id].addListener('click', function (event) {
     //Some code here
 myFunction(this, event);
}

并且功能不起作用。

myFunction(elem, event) {
    console.log(event);
    if(!event.shiftKey) { //Do Something }
}   

它曾经工作过,event.xa.shiftKeyevent.va.shiftKey,今天它是Aa

enter image description here

试图浏览对象attributs,但没有检测到shiftKey

     var shiftKey;
  if (Object.keys(event).some(function (key) {
        if (event[key] && 'shiftKey' in event[key]) {
              shiftKey = event[key].shiftKey;
              return true;
        }
        return false;
  })) {
        // We found it, `shiftKey` has the value
  } else {
        // ShiftKey is NOT pressed
  }

我无法一直改变对象。那么检测这个问题的权威方法是什么呢?

1 个答案:

答案 0 :(得分:1)

无法找到使用文档修复它的方法,因此我必须按类型而不是按名称运行查找MouseEvent

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

   if( event["mouseEvent"].shiftKey ){ //shiftKey is pressed }

}