Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OpenLayers弹出窗口上的Jquery UI按钮-选择仅触发一次_Javascript_Jquery_Jquery Ui_Openlayers - Fatal编程技术网

Javascript OpenLayers弹出窗口上的Jquery UI按钮-选择仅触发一次

Javascript OpenLayers弹出窗口上的Jquery UI按钮-选择仅触发一次,javascript,jquery,jquery-ui,openlayers,Javascript,Jquery,Jquery Ui,Openlayers,我在web应用程序中生成了一个html openlayers弹出窗口,其中包含一个带有菜单的JQuery按钮。菜单显示良好,但菜单的select事件仅在第一次触发,此后不会响应。你知道为什么吗 下面是Javascript $("#popup_actions") .button({ text: false, icons: { primary: "ui-icon-gear", secondary: "ui-ico

我在web应用程序中生成了一个html openlayers弹出窗口,其中包含一个带有菜单的JQuery按钮。菜单显示良好,但菜单的
select
事件仅在第一次触发,此后不会响应。你知道为什么吗

下面是Javascript

$("#popup_actions")
    .button({
        text: false,
        icons: {
            primary: "ui-icon-gear",
            secondary: "ui-icon-triangle-1-s"
        }
    })
    .click(function () {
        console.log(this);
        var menu = $(this).parent().next().show().position({
            my: "left top",
            at: "left bottom",
            of: this
        });
        // "chicken" (ahem) is the name of the containing div, for some reason using $(document) didn't work
        $("#chicken").one("click", function () {
            menu.hide();
        });
        return false;
    })
    .parent()
        .buttonset()
        .next()
            .hide()
            .menu({select: function(e) {
                console.log("The menu was selected", event);
            }});
以及HTML:

<div style="width:60px;float:left">
    <div>
        <button id="popup_actions">Actions</button>
    </div>
    <ul style="width:200px">
        <li><a href="#"><span class="ui-icon ui-icon-star"></span>Find in rack</a></li>
        <li><a href="#"><span class="ui-icon ui-icon-star"></span>Find in tree</a></li>
        <li><a href="#"><span class="ui-icon ui-icon-star"></span>Change Activity Report</a></li>
        <li><a href="#"><span class="ui-icon ui-icon-star"></span>Link State Change History Report</a></li>
    </ul>
</div>

行动
宽度:200px>
  • 编辑:


    我设法将其放入一个JSFIDLE中,显示该行为不起作用。这绝对是OpenLayers的问题将多边形添加到地图中,然后进入弹出模式并打开弹出窗口以查看菜单-选择事件只会触发一次。

    我不确定是否理解该问题,但如果只是选择,则会出现键入错误,您应该更改该行

    console.log("The menu was selected", event);
    


    因为变量名为e not event。

    您看到问题了吗?令人担忧的是,没有!嗯,所以这一定和我呈现内容的方式有关。我将尝试制作一个jsfiddle,用可重新创建的jsfiddleFair catch重新创建itAdded编辑,这确实是一个输入错误,但与我遇到的问题无关。
    console.log("The menu was selected", e);