我正在使用jquery ui手风琴来包含jstree。我想添加一个下拉菜单,为用户提供一组选项。由于我使用的是jquery ui主题,我认为使用jquery ui按钮/菜单来创建下拉列表是个好主意。
当我渲染页面时,该按钮已完全从DOM中删除。使用下面的html的精简版本作为参考,jsTreeOptionsMenu div仍然在DOM中,但其所有内容都将消失。
有没有人遇到过这个?
<div id="accordion">
<h3><a href="">FIRST</a></h3>
<div id="jsTreeArea">
<div id="jsTreeTarget"></div>
<div id="jsTreeOptionsMenu">
<button>Options Menu</button>
<ul>
<li><a href="">menu link 1</a></li>
<li><a href="">menu link 2</a></li>
</ul>
</div>
</div>
<h3><a href="">SECOND</a></h3>
<div>
content
</div>
这是js:
<script type="text/javascript">
$(function () {
$("#jsTreeOptionsMenu button").button({
icons: {
primary: null,
secondary: "ui-icon-triangle-1-s"
}
}).each(function () {
$(this).next().menu({
select: function (event, ui) {
$(this).hide();
},
input: $(this)
}).hide();
}).click(function (event) {
var menu = $(this).next();
if (menu.is(":visible")) {
menu.hide();
return false;
}
menu.menu("deactivate").show().css({ bottom: 0, right: 0 }).position({
my: "left top",
at: "right top",
of: this
});
$(document).one("click", function () {
menu.hide();
});
return false;
});
});
</script>