1

メニュー付きのJQueryボタンを含む、Webアプリで生成したhtml openlayers popupがあります。メニューは正常に表示されますがselect、メニューのイベントは初回のみトリガーされ、それ以降は応答しません。理由はありますか?

ジャバスクリプトはこちら

$("#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>

編集:

これを、動作が機能しないことを示す jsfiddle に入れることができました。これは間違いなく OpenLayers の問題です。http://jsfiddle.net/mattwoberts/JRmKN/13/ - マップにポリゴンを追加し、ポップアップ モードにしてポップアップを開いてメニューを表示します - select イベントは 1 回だけ発生します。

4

1 に答える 1

0

問題を理解できたかどうかはわかりませんが、選択だけでタイプミスがある場合は、行を変更する必要があります

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

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

変数の名前は e ではなく event であるためです。

于 2012-11-22T15:03:15.040 に答える