0

如果您查看http://www.zimmi.cz/edpp并单击标记,则会弹出一个带有链接的信息窗口。如果单击该链接,则应打开新窗口。它在 Firefox 和 IE (7) 中运行良好,但在 Opera 中,新窗口和原始窗口都会加载新内容。我如何告诉 Opera 只打开一个新窗口并让原来的窗口保持不变?信息窗口中链接的 onclick 函数返回 false,但 Opera (11.64) 似乎忽略了它。谢谢你的帮助。

代码如下所示:

google.maps.event.addListener(marker,"click",function(ev) {
                        //var content = bod.nazev;
                        var content = "<a href='http://www.edpp.cz/zarizeni/velke-mezirici-oslava-' onclick='return !popUpWin(this, null, 1024, 742, true);'>Aktuální stav hladiny</a>";
                        infowindow.setContent(content);

                        infowindow.setMap(null);
                        infowindow.open(map,marker);
                        getCoords(ev.latLng);
                    });

PopupWin 打开新窗口,同时返回false,防止浏览器加载链接。我不认为这个函数有问题,我想我只是没有得到返回 false 的范围:-/

4

2 回答 2

1

如果您不想要事件的默认行为,则应通过调用ev.preventDefault();事件处理程序来防止默认行为,如下所示:

google.maps.event.addListener(marker,"click",function(ev) {
    ev.preventDefault();
    //var content = bod.nazev;
    var content = "<a href='http://www.edpp.cz/zarizeni/velke-mezirici-oslava-' onclick='return !popUpWin(this, null, 1024, 742, true);'>Aktuální stav hladiny</a>";
    infowindow.setContent(content);

    infowindow.setMap(null);
    infowindow.open(map,marker);
    getCoords(ev.latLng);
});

有关MDN 的更多信息preventDefault

于 2012-06-10T11:17:19.063 回答
0

您应该检查 window.open 和其他弹出窗口属性的兼容性

检查这个链接阅读这篇文章

如果您想与所有浏览器完全兼容,您应该阅读更多内容,而不仅仅是编程

于 2012-06-10T11:40:26.807 回答