我正在尝试制作浮动面板
var self = this;
this.$widget = (function() {
var $panel = $("#tmpl-float-panel").tmpl({
title : title
});
//close on click on cross
$panel.find(".ui-dialog-titlebar-close").click(function() {
self.hide();
});
$panel.draggable({
containment : "parent",
handle : "div.ui-dialog-titlebar",
opacity : 0.75
}).appendTo($container);
return $panel;
})();
后来我插入内容
this.$widget.find(".ui-dialog-content").append($content);
这是用于构建面板的 jquery 模板:
<script id="tmpl-float-panel" type="text/x-jquery-tmpl">
<div class="ui-widget ui-dialog ui-corner-all ui-widget-content float-panel no-select">
<div class="ui-dialog-titlebar ui-widget-header ui-helper-clearfix">
<span class="ui-dialog-title">${title}</span>
<a class="ui-dialog-titlebar-close ui-corner-all" href="#" role="button">
<span class="ui-icon"></span>
</a>
</div>
<div class="ui-dialog-content ui-widget-content">
</div>
</div>
</script>
这是问题。当我试图拖动面板(单击标题栏并移动鼠标)时,整个小部件都会消失。有人能告诉我为什么吗?
UPD:在 chrome 上它不会在点击时消失,但不知何故它会占用所有可能的宽度。
这是 html 包装浮动面板:
<div id="idA">
<div id="idB">
<!-- here I have panels and other divs -->
</div>
</div>
在 CSS 我有
#idA {
height: auto !important;
min-height: 100%;
}
#idB {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
}