簡體   English   中英

ArcGIS JavaScript API 3.9 - 鼠標拖動事件在 Internet Explorer 11 中不起作用

[英]ArcGIS JavaScript API 3.9 - mouse-drag events don´t work in Internet Explorer 11

我在 Internet Explorer 11 中遇到鼠標拖動事件表單 ArcGIS API for JavaScript 3.9 的問題代碼如下:

map.on("mouse-drag", zobraudalost);
    
function zobraudalost() {
    alert("test");
}

問題是,此事件不會在 IE 11(以及鼠標拖動開始、鼠標拖動結束)上觸發。 但是在其他瀏覽器上它運行良好(IE9、Firefox、Chrome)。 另一個問題是其他鼠標事件(單擊、鼠標移動等)在 IE 11 上運行良好,因此問題僅在於鼠標拖動。

你見過這樣的問題嗎? 您知道 IE 11 中是否有一些禁用鼠標拖動事件的安全設置嗎?

嗯,這個問題與 ArcGis JS API 版本有關。

我只是將 API 3.9 更新為 3.16 ,它也開始在 IE 中工作。

這是要驗證的正在運行的提琴手鏈接。

提琴手: https : //jsfiddle.net/vikash2402/j6h00uyt/1/

我在IE11、chrome 和 firefox 中進行了驗證

 var map; require(["esri/map", "dojo/domReady!"], function(Map) { map = new Map("map", { basemap: "topo", center: [-122.45, 37.75], // longitude, latitude zoom: 13 }); map.on("mouse-drag", drag); function drag() { alert("mouse-drag"); } });
 html, body, #map { height: 100%; width: 100%; margin: 0; padding: 0; }
 <link href="https://js.arcgis.com/3.16/esri/css/esri.css" rel="stylesheet"/> <script src="https://js.arcgis.com/3.16/init.js"></script> <body> <div id="map"></div> </body>

希望這會幫助你:)

我在嘗試在 IE11 中捕獲 mouseup 時遇到了類似的問題。 是我發現有效的解決方案:

更改為您可能想要的拖動事件。

if(window.PointerEvent) {
  elm.addEventListener("pointermove", foo);
} else if (window.MSPointerEvent) {
  elm.addEventListener("MSPointerMove", foo);
} else {
  elm.addEventListener("mousemove", foo);
}

不是您的確切解決方案,但上述方法的組合應該可以做到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM