html - OpenLayer.Popup.FramedCloud 中无响应的 onclick 事件

标签 html events popup onclick openlayers

我正在使用 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);

弹出窗口自动打开并显示按钮。当我点击它时,会显示一 strip 有文本“未定义”的警报。

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

相关文章:

MySQL-如何每天实现事件调度程序 + 从早上 8 点到晚上 10 点+ 每 15 分钟

javascript - 当鼠标悬停在 HTML 表格单元格上时,我有哪些选项可以弹出日期列表?

来自 fragment 的android PopupWindow

html - 使链接打开 "pop up"不同内容的窗口

javascript - 图片链接未显示在另一张图片上

javascript - 如何使用javascript播放具有相同ID的两个音频文件

java - 如何让Java类监听C程序 "stdout"上的事件

WPF:如何使文本 block 触发按键事件?

javascript - 从 DIV 中删除元素以及之前插入的值

javascript - 删除 Div 中的元素并循环直到元素存在 Javascript