我不完全確定谷歌地圖爲了停止拖動地圖而依靠什麼事件,但只是在演示演示時,我注意到它在iframe中的mouseup
時停止。如果您在iframe的mouseout
上模擬此事件,則Google地圖會認爲您放棄了該地圖,並停止拖動。
我想這個代碼從控制檯內,它工作正常:
var iframe = document.getElementsByTagName('iframe')[0];
iframe.addEventListener('mouseout', function(e){
var doc = this.contentDocument || this.contentWindow; // wk/moz vs. ie
doc = doc.document || doc; // opera
if (doc.createEvent) {
var evt = doc.createEvent('MouseEvents');
evt.initMouseEvent('mouseup', true, false, window,
0, e.screenX, e.screenY, e.clientX, e.clientY,
false, false, false, false, 0, null
);
doc.getElementsByTagName('body')[0].dispatchEvent(evt);
} else if (doc.createEventObject) { // legacy ie
var evt = doc.createEventObject(e);
doc.getElementsByTagName('body')[0].fireEvent('mouseup', e);
}
});
這在FF,Safari瀏覽器,Chrome瀏覽器和Opera。我在IE中快速查看了您的頁面,但未應用修復程序。然而,它看起來並不像在那裏發生拖拽問題,所以它可能不值得提供這種情況。祝你好運!
這太棒了!我現在有一些跨域安全錯誤,但這是一個單獨的問題。太感謝了! – fallanic