【问题标题】:Drag a containing div when dragging select children of the containing div with jQuery使用 jQuery 拖动包含 div 的选择子项时拖动包含 div
【发布时间】:2010-11-23 03:35:44
【问题描述】:

考虑以下 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-text 时移动 div .calendar-container。当 .calendar-container 中的任何其他 div 被拖动时,除了 .month-text 之外,我不想拖动 .calendar-container。我正在使用最新版本的this 插件来利用拖动事件。

【问题讨论】:

  • 查看 jQuery ui。他们实现的可拖动是非常可扩展的

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


【解决方案1】:

一个更简单的方法是使用:

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

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

【讨论】:

  • +1 非常感谢,我一直在努力解决这个问题,您的代码运行良好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 2012-04-24
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 1970-01-01
相关资源
最近更新 更多