当我点击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.shiftKey
:event.va.shiftKey
,今天它是Aa
:
试图浏览对象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
}
我无法一直改变对象。那么检测这个问题的权威方法是什么呢?
答案 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 }
}