我正在使用openlayer(javascript映射库)中的openlayer.popup.framedcloud。
在弹出式构造函数中有一个名为contenthtml的参数。
我在那里放置了带有onlick事件的html按钮:

contentHTML = "<button type='button' onclick='alert()'>Hello</button>";

由于某些原因,按钮对单击没有响应。
为什么?有解决办法吗?
也许这是因为网页是用winform webbrowser上传的?
我注意到当我用常规浏览器(chrome)上传页面时,一切正常
但不是winform webbrowser。
完整的弹出对象:
        var lonlat = new OpenLayers.LonLat(lon, lat);
        var size = new OpenLayers.Size(300,200)
        var htmlString = "<button type='button' onclick='alert()'>Hello</button>";
    popup = new OpenLayers.Popup.FramedCloud("popup",
                                              lonlat,
                                              size,
                                              htmlString,
                                              anchor=null,
                                              closeButtonX =false);
        popup.id = callId;
        g_waze_map.map.addPopup(popup);

谢谢。

最佳答案

好吧,我正在开发和使用openlayers.popup.framedcloud,它工作得很好(即使是你的contenthtml)。这是我的代码:

// i.e. x = 100, y = 300;

var popup = new OpenLayers.Popup.FramedCloud(
    "getfeature",
    map.getLonLatFromPixel(new OpenLayers.Pixel(x,y)),
    new OpenLayers.Size(300,200),
    "<button type='button' onclick='alert()'>Hello</button>",
    null,
    true
);
popup.autoSize = false;
map.addPopup(popup);

弹出窗口自动打开并显示按钮。当我单击它时,会显示一个带有文本“undefined”的警告。

关于html - OpenLayer.Popup.FramedCloud中的无响应onclick事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4877154/

10-13 01:32