jquery overscroll + перетаскиваемые элементы - PullRequest
3 голосов
/ 10 ноября 2011

У меня есть часть 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» - это элемент, который позволяет перетаскивать блок «story» на страницу с помощью этого кода jquery:

$('.dragger').mousedown(function(e){
    $(this).parent().draggable({
        disabled: false, opacity: 0.5, zIndex: 2700, revert: true,
        stop: function() { $(this).draggable({ disabled: true }) }
})

Это работает очень хорошо, пока я не помещу этот элемент "story" в область прокрутки. Я хотел бы сделать прокрутку, когда я управляю «щелчком и перетаскиванием» в любом месте, кроме небольшой области, которая является «драггером». Так, например. когда я размышляю над историей, я хочу прокрутить. Я попытался использовать параметр «cancelOn» с «.dragger», но он не работает так, как я хочу - прокрутка блокируется, но (и я не знаю, почему) элемент «история» также не может быть перетащен по странице.

Вот код 'overscroll'

$(".scheduled").overscroll({
    direction: 'horizontal',
    wheelDirection: 'horizontal',
    wheelDelta: 80,
    cancelOn: ".dragger"
});

". Schedule" - это "верхний" div, в который помещаются истории. У вас есть идеи?

С уважением, Галсан

1 Ответ

4 голосов
/ 10 ноября 2011

событие может не пузыриться, если вы используете cancelOn, и это может привести к прерывистому перетаскиванию.Попробуйте временно отключить оверроллинг (используя removeOverscroll), когда щелкнет элемент, который вы хотите перетащить.После завершения перетаскивания вы можете снова включить плагин.

...