JQuery UI dragable (не может правильно остановить это) - PullRequest
0 голосов
/ 22 октября 2010

У меня есть некоторые проблемы с перетаскиваемым пользовательским интерфейсом. В некоторых условиях мне нужно перестать тянуть. Это очень динамично. Я пытаюсь дать это более просто.

Что я делаю:

drag : (function(e,ui){
           if (ui.position.left > 400){// in my example 400 is variable whitch calculates every drag event
                        return false;
      }            
}

Но если я сделаю это. Когда я возвращаю ложь. Все торможение останавливается. И если я хочу перетащить в другом направлении, я должен снова выполнить «mouseup» и «mousedown».

Как я могу создать такое поведение, не останавливая перетаскивание? Спасибо

1 Ответ

0 голосов
/ 07 февраля 2011

Не существует метода, который отменяет только одно «перетаскивание», но вы можете установить положение объекта с помощью ui.position

return false

выдает ошибку, и она не работает эффективно.Следующий фрагмент кода работал для меня хорошо.

$('#draggablediv').draggable({
        drag: function (event, ui) {
            if (your_condition) { // for example: ui.position.left < 100
                ui.position.left = ui.position.left_old
                ui.position.top = ui.position.top_old
            }
            ui.position.left_old = ui.position.left
            ui.position.top_old = ui.position.top
        }
    })
...