在Iframe窗口外部释放时IE保持按住鼠标/触摸

时间:2015-02-27 20:18:42

标签: javascript css html5 internet-explorer iframe

我一直在寻找答案,但无济于事。我正在制作这个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/>

0 个答案:

没有答案