仅在单击父元素而不是其子元素时拖动

时间:2013-12-26 20:11:57

标签: javascript jquery html jquery-ui

我正在使用jquery-ui让我的div元素可以拖动。它看起来像这样:

<div id="parent">
   <div id="child">
      //here is some stuff like tabs and other dynamic content
   </div>
</div>

所以父级是可拖动的,即使我拖动了由id为“child”的元素占据的空间,我也可以拖动整个元素。单击子元素时我不想拖动

换句话说:

我想让我的父母成为其子元素的自然可拖动框架,但是这个孩子也不能触发父拖拽。

3 个答案:

答案 0 :(得分:4)

使用Cancel

  

防止从指定元素开始拖动。

$('#parent').draggable({ cancel : '#child'});

jsFiddle http://jsfiddle.net/hescano/dA4L9/

答案 1 :(得分:2)

查看jQuery Draggable Handle Documentation

你会看到一个确切的例子。

尝试:

$(function() {
    $( "#parent" ).draggable({ cancel: "#child" });

    //Disable selection of text content within the set of matched elements.
    $( "div" ).disableSelection();
});

答案 2 :(得分:1)

演示:http://jsfiddle.net/GbtUA/

您可以使用以下内容:

       $('#parent').draggable({
          cancel : 'div#child'
       });