2017-11-24 8 views
-1

google.maps.circle(...)을 클릭하면 shiftKey가 눌러 졌는지 여부를 감지하려고합니다. 이 질문은 이미 여기에 대답 할 수 있습니다서클을 클릭 할 때 shitfKey가 눌려 졌는지 감지

좋아하는 :

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.shiftKey 작동하는 데 사용 : event.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

문서를 사용하여 문제를 해결할 방법을 찾을 수 없으므로 이름이 아닌 유형에 따라 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 } 

}