jquery overscroll + draggable items

时间:2011-11-10 10:32:14

标签: jquery scroll draggable

我有一部分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,其中放置了故事。你有什么想法吗?

此致 葛山

1 个答案:

答案 0 :(得分:4)

当你使用cancelOn时,事件可能不会冒泡,这可能会打破拖延。尝试在单击要拖动的元素时暂时禁用过度滚动(使用removeOverscroll)。拖动完成后,您可以重新启用插件。