Javascript 在拖动完成之前,拖动光标不会应用光标样式更改

Javascript 在拖动完成之前,拖动光标不会应用光标样式更改,javascript,openlayers,Javascript,Openlayers,我想跟进这个问题: 提供的答案是正确的,并且有一个有效的例子。我使用了基本的OpenLayers快速启动代码,并将用户的答案添加到测试中,很抱歉,它不起作用 发生的情况是,“pointerup”中定义的光标是起始光标,当您单击并按住以拖动地图时,它将保持为该光标,直到您松开鼠标按钮停止拖动。您将看到手形图标非常短暂地更改,然后更改回指针光标。它的作用类似于在发生拖动操作时无法更改光标 如何解决这个问题 下面是我的示例文件的完整代码。请注意,在JSFIDLE中,它演示了预期的行为。但当我创建一个

我想跟进这个问题:

提供的答案是正确的,并且有一个有效的例子。我使用了基本的OpenLayers快速启动代码,并将用户的答案添加到测试中,很抱歉,它不起作用

发生的情况是,“pointerup”中定义的光标是起始光标,当您单击并按住以拖动地图时,它将保持为该光标,直到您松开鼠标按钮停止拖动。您将看到手形图标非常短暂地更改,然后更改回指针光标。它的作用类似于在发生拖动操作时无法更改光标

如何解决这个问题

下面是我的示例文件的完整代码。请注意,在JSFIDLE中,它演示了预期的行为。但当我创建一个文件(例如“test drag.html”)并将其加载到Chrome中时,它的行为与我描述的一样


var map=新ol.map({
目标:“地图”,
图层:[
新ol.layer.Tile({
来源:new ol.source.OSM()
})
],
视图:新ol.view({
中心:Lonlat的其他项目([37.41,8.82]),
缩放:2
})
});
map.getViewport().style.cursor=“-webkit-grab”;
map.on('pointerdrag',函数(evt){
map.getViewport().style.cursor=“-webkit grabbing”;
});
map.on('pointerup',函数(evt){
map.getViewport().style.cursor=“-webkit-grab”;
});

这似乎是Chrome在v.50之前的一个bug-当DevTools打开时是否会出现问题?你试过关闭DevTools吗?另外,我认为在这里使用纯css会更好,比如:
.ol viewport{cursor:move;cursor:grab;cursor:-moz-grab;cursor:-moz-grab;cursor:-webkit-grab;}.ol viewport:active{cursor:grabbing;cursor:-webkit-grabbing;}
;看来,打开DevTools是个问题。这是一个非常奇怪的错误。作为参考,我使用的是Chrome版本66.0.3359.139(官方版本)(64位)。谢谢你的回复。请随意将其作为答案发布。