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 に戻ることもあれば、静止していることもあります。理由は説明できません。

追伸: 私のウェブサイトのアドレスを教えて、私の問題が実際に動いていることを人々に見せることはできますか?

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 に答える