繁体   English   中英

拖动 cursor 不适用 cursor 样式变化直到拖动完成

[英]Dragging cursor does not apply cursor style change until drag is complete

我想跟进这个问题: Changing cursor on drag in openlayers 3

提供的答案是合理的,并且有一个有效的例子。 我已经使用了基本的 OpenLayers 快速入门代码并添加了该用户的答案以进行测试,我很遗憾地说它不起作用。

发生的情况是“pointerup”中定义的cursor是开始的cursor,当你点击并按住拖动map时,它仍然是那个cursor,直到你让鼠标按钮的go停止拖动。 您会看到手形图标变化非常短暂,然后变回指针向上 cursor。这就像在发生拖动操作时无法更改 cursor 一样。

可以做些什么来解决这个问题?

下面是我的示例文件的完整代码。 请注意,在 jsfiddle 中,它演示了预期的行为。 但是当我制作一个文件(例如“test-drag.html”)并将其加载到 Chrome 中时,它会按照我描述的那样运行。

 <html> <script src="https://openlayers.org/en/v4.6.5/build/ol.js" type="text/javascript"></script> <link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css"> <body> <div id="map" class="map" style="width:1200px;height:800px"></div> <script type="text/javascript"> var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: ol.proj.fromLonLat([37.41, 8.82]), zoom:2 }) }); map.getViewport().style.cursor = "-webkit-grab"; map.on('pointerdrag', function(evt) { map.getViewport().style.cursor = "-webkit-grabbing"; }); map.on('pointerup', function(evt) { map.getViewport().style.cursor = "-webkit-grab"; }); </script> </body> </html>

答案是这是由开发工具打开引起的,正如@m.cekiera 和@Psymøn 的评论中提到的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM