如何在Openlayers弹出窗口中获取按钮?

时间:2011-07-22 22:47:06

标签: html jquery-ui openlayers

我正在尝试在Openlayers弹出窗口中放置一个按钮。当按钮看起来使用以下代码正确显示时,单击按钮时函数'handlerFunc'不会执行。我发布的代码段都在另一个函数中(因此handlerFunc实际上是一个嵌套函数)。我正在使用JQuery作为按钮本身。关于可能出错的任何想法?谢谢!

    var feature = new OpenLayers.Feature(presences, ll); 
        feature.popupClass = popupClass;
        feature.data.popupContentHTML = "<button id='popupButton'>Click me</button>";
        feature.data.overflow = (overflow) ? "auto" : "hidden";
        feature.data.icon = markerIcon;
    $('#popupButton').button();
    $('#popupButton').click(handlerFunc);


 function handlerFunc() {
    // do something
 } 

1 个答案:

答案 0 :(得分:3)

最有可能的原因是,当您绑定到click事件时,您的按钮不存在。 $('#popupButton')返回null。而不是使用$('#popupButton').click(handlerFunc);尝试$('#popupButton').live('click', handlerFunc);。这意味着我们不仅在构建DOM时,而且在对象出现时绑定到事件。