dragStart на draggables неоднократно вызывается в jquery? - PullRequest
0 голосов
/ 29 ноября 2009

Хорошо. Итак, я собираюсь выйти на конечность и предположить, что событие draggables "start" снова запускается после остановки движения, и пользователь снова начинает движение, даже если его еще не сбросили?

Основная проблема заключается в том, что я хочу, чтобы мои перетаскиваемые объекты создавали мои сбрасываемые объекты в зависимости от наличия нечетного или четного класса.

Но я боюсь, что пользователь может начать перетаскивание, остановить, снова начать перетаскивание, не отпуская кнопку мыши, которая могла бы повторно привязать элементы сброса. Есть ли способ отловить событие начала перетаскивания только один раз?

Ответы [ 2 ]

3 голосов
/ 29 ноября 2009

Ваше предположение неверно. Событие dragstart сработает только один раз. Точно, когда пользователь впервые начинает перетаскивание. Не имеет значения, остановит ли он движение на несколько секунд, а затем возобновит движение мыши. Пока он не отбрасывает перетаскиваемый объект, а затем щелкает перетаскиваемый объект, событие не будет запускаться снова.

Событие, которое вызывается при перетаскивании пользователем перетаскиваемого объекта, является drag событием. Это срабатывает при перемещении мыши во время перетаскивания.

0 голосов
/ 30 ноября 2009

тогда это означает, что я могу создавать мои droproables на основе перетаскиваемого элемента, однако, когда я пытаюсь сделать это на стартовом событии, кажется, что он не работает?

$("#theSchedule, #theExtras").live('mouseover', function () {
    $(".curSelected").draggable({
            helper: 'clone',
            opacity: 0.50,
            appendTo: 'body',
            zIndex: 4,
            addClasses: false,
            start: createDrops,
            stop: tooltip
        });
    }).live('mouseout', function (e) {
        $(".curSelected").draggable('destroy');
    });

function createDrops(ev, ui){
    disableTip();
        if($(ui.helper).hasClass("even")){
        $(".even, .evenExtra").droppable({
        accept: ".curSelected",
        addClasses: false,
        hoverClass: 'dropHover',
        drop: moveJob
        });
    } else {
        $(".odd, .oddExtra").droppable({
        accept: ".curSelected",
        addClasses: false,
        hoverClass: 'dropHover',
        drop: moveJob
        });
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...