メニュー付きの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 回だけ発生します。