1

我有一个 jQuery 可拖动 Div,里面有一个引导下拉菜单,这是我的 HTML:

<div id="widget_clock" class="widget_common ui-widget-content ui-corner-all ui-draggable" style="z-index: 1001; left: 651px; top: 0px; ">
<div>
    <div class="btn-group" style="float:right;text-align:left">
        <a class="btn btn-large" href="#" id="btn_SetAlarm"><em class="icon-time" style="margin-top: 4px;"></em>  Set Alarm</a>
        <a class="btn btn-large dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
        <ul class="dropdown-menu" id="alarm_recent_times">
            <li class="recent_times_header nav-header" style="padding-right:20px; padding-left:20px">No Recent times</li>
        </ul>
    </div>
</div>

正如您从 HTML 中看到的,我说的是.dropdown-menu ul 标记。<div class="caret">在按下并打开下拉菜单之前,一切看起来都很好(这是一个 bootstrapjs 功能),

在 bootstrapjs 菜单打开后再次拖动 DIV 时会发生该错误,并且菜单保持在其位置而不移动。有时它会回到 DIV,有时它只是静止不动。我无法解释为什么。

PS我可以给我的网站地址以向人们展示我的问题吗?

4

1 回答 1

2

除非您需要下拉菜单在拖动时保持打开状态,否则您应该能够通过在拖动时关闭下拉菜单来解决此问题。

$(".ui-draggable").draggable({
  start: function() {
    $('.ui-draggable .open').removeClass('open');
  }
});

单击插入符号时,您还可以使您的 div 不可拖动。

$(".ui-draggable").draggable({
  cancel: 'a.dropdown-toggle'
});
于 2012-10-31T11:11:52.583 回答