2

マウスがdivの子をクリックしたときにドラッグを有効にして、親をドラッグすることはできますか?

この例では、ドラッグ可能をdivとselectの両方で機能させるようにしています。選択をクリックしてドラッグしようとしても、何も起こりません。

http://jsfiddle.net/Trhs4/5/

<div id="draggable" class="ui-widget-content">
<select>
<option>Drag Me</option>
</select>
</div>

 $(function() {
     $( "#draggable" ).draggable();
 });
4

3 に答える 3

1

次に例を示します。LIVE DEMO

マウスクリックイベントをキャッチしてオプションを表示するため、コンボボックスとの互換性はあまりありませんが、機能しています。

$(document).ready(function(){
      var click = false,
      top = null,
      left = null;

    $(document).bind('mousemove', function (e) {
        if (click == true) {
           $('#draggable').css({
             left: e.pageX - left,
             top: e.pageY - top
           });
        }
    });

    $('#draggable').draggable().click(function(e) {
        top = e.pageY - $('#draggable').position().top; 
        left = e.pageX - $('#draggable').position().left;
        click = !click;
        return false;
    });

    $('html').click(function() {
        click = false;
    });
});
于 2013-03-22T06:38:25.543 に答える
0

イベントハンドラーのせいでそれは不可能だと思います。<option>独自のイベントハンドラーがあるため、JQueryからのドラッグアンドドロップイベントがトリガーされるのを防ぎます。<ul>やのような他のオブジェクトを試すことができます<li>。このサンプルを見てください:jqueryサンプル

于 2013-03-21T19:01:03.320 に答える
0

選択がさまざまなブラウザーでどのように機能するかにより、それが可能だとは思いません。UL と LI を使用して独自の選択を作成できます。

または、ユーザーが非表示にすることを選択できる選択の上に [drag me] を追加することもできます。<--とにかく使いやすいです。

于 2013-03-21T18:48:01.493 に答える