考虑以下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插件来利用拖动事件。
答案 0 :(得分:3)
更简单的方法是使用:
$('.calendar-container').draggable({handle:'.calendar-container .month-heading-wrapper .month-text'});
您需要在jQuery UI插件中进行“可拖动”交互,此处的文档仅供参考:http://jqueryui.com/demos/draggable/