Javascript ShiftKey mouseEvent未识别按下的键
我有这个功能,在gogole地图圈上,它工作得很好。但现在它不再检测shiftKey,总是返回false,我不知道为什么。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
还尝试了
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中它不起作用。