我有一部分HTML代码:
<div class="stories">
<div class="story">
<div class="..">
<img alt="" class="..">
</div>
<div class="dragger"></div>
<div>
<div class="story">
...
<div class="dragger"></div>
</div>
</div>
“dragger”是一个元素,允许您使用此jquery代码在页面上拖动“story”块:
$('.dragger').mousedown(function(e){
$(this).parent().draggable({
disabled: false, opacity: 0.5, zIndex: 2700, revert: true,
stop: function() { $(this).draggable({ disabled: true }) }
})
在我将这个“故事”元素放入过度滚动区域之前,它非常有效。当我在“小拖拉”小区域之外的任何地方管理“点击并拖动”时,我想滚动。所以,例如。当我在一个故事上徘徊时,我想要滚动。我试图用'.dragger'使用'cancelOn'参数,但它没有按照我的意愿工作 - 滚动被阻止但是(我不知道为什么)“故事”项目也无法被拖动然后在页面上。
以下是'overscroll'的代码
$(".scheduled").overscroll({
direction: 'horizontal',
wheelDirection: 'horizontal',
wheelDelta: 80,
cancelOn: ".dragger"
});
“。scheduled”是一个“上层”div,其中放置了故事。你有什么想法吗?
此致 葛山
答案 0 :(得分:4)
当你使用cancelOn
时,事件可能不会冒泡,这可能会打破拖延。尝试在单击要拖动的元素时暂时禁用过度滚动(使用removeOverscroll
)。拖动完成后,您可以重新启用插件。