使用jQuery拖动包含div的select子项时拖动包含div

时间:2010-11-22 19:20:22

标签: jquery html jquery-plugins css-selectors draggable

考虑以下HTML结构:

<div class="calendar-container">
    <div class="month-heading-wrapper">
        <div class="month-text">
            <p>Some text would go here</p>
        </div>
        <div class="something-else">
            <p>When this is clicked on and dragged, it SHOULD NOT move anything</p>
        </div>
    </div>
</div>

使用以下JavaScript(使用jQuery):

$('.calendar-container .month-heading-wrapper .month-text').unbind();

    $('.calendar-container .month-heading-wrapper .month-text').bind('drag', function(event){

 var offset = $('.calendar-container').offset();

 $('.calendar-container').css({
          'top': (offset.top + event.pageY) + 'px',
          'left': (offset.left + event.pageX) + 'px'
    });

});

我的目标是仅在拖动div .month文本时移动div .calendar-container。除了.month-text之外,当拖动.calendar-container内的任何其他div时,我不想拖动.calendar-container。我使用最新版本的this插件来利用拖动事件。

1 个答案:

答案 0 :(得分:3)

更简单的方法是使用:

$('.calendar-container').draggable({handle:'.calendar-container .month-heading-wrapper .month-text'});

您需要在jQuery UI插件中进行“可拖动”交互,此处的文档仅供参考:http://jqueryui.com/demos/draggable/