我一直在寻找答案,但无济于事。我正在制作这个Cordova应用程序,在IE中我需要在IFrame中运行所有不安全的webcontent。到目前为止一切进展顺利,但我遇到了Internet Explorer 11到9和Window Phone 8.1 IE的问题。在Firefox和Chrome中工作正常。
当我在IFrame中按下鼠标左键并将其拖到IFrame外面并释放时,我可以再次将我的鼠标移到IFrame中,它仍然认为我的鼠标左键被按下了。使用触摸控制时也会发生这种情况,并使问题变得更糟。
我有这个小提琴示例,显示了问题。尝试在Fiddle IFrame版本之外拖动地图并移回地图以确认鼠标/触摸仍然向下。 http://jsfiddle.net/pkbkn0me/3/
提前致谢。我很难调试这个问题,但我怀疑这是一些没有被触发的鼠标/触摸事件。
<div id="mapdisplay" style="width: 500px; height: 400px; background: grey" />
<script>
$(function() {
/**
* Moves the map to display over Berlin
*
* @param {H.Map} map A HERE Map instance within the application
*/
function moveMapToBerlin(map) {
map.setCenter({ lat: 52.5159, lng: 13.3777 });
map.setZoom(14);
}
/**
* Boilerplate map initialization code starts below:
*/
//Step 1: initialize communication with the platform
var platform = new H.service.Platform({
app_id: '32pgIHkvuyWtWbBM7LhF',
app_code: 'fpwF_cWgzvckmNL12RchNg',
useCIT: true
});
var defaultLayers = platform.createDefaultLayers();
//Step 2: initialize a map - not specificing a location will give a whole world view.
var map = new H.Map(document.getElementById('mapdisplay'),
defaultLayers.normal.map);
//Step 3: make the map interactive
// MapEvents enables the event system
// Behavior implements default interactions for pan/zoom (also on mobile touch environments)
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
// Create the default UI components
var ui = H.ui.UI.createDefault(map, defaultLayers);
// Now use the map as required...
moveMapToBerlin(map);
});
<script/>