Как сделать обнаружение перетаскивания более надежным - PullRequest
2 голосов
/ 09 мая 2011

Я сохраняю глобальное состояние «нажал» в переменной, чтобы обнаружить перетаскивание или определить, удерживается ли мышь при наведении мыши на элемент.

Проблема заключается в том, что различные вещиможет привести к тому, что статус «нажал» останется true, даже когда кнопка мыши отпущена, например, если появится предупреждение.

Есть ли решение?

Редактировать:

Я начинаю думать, что «различные вещи» могут быть ограничены оповещениями, и браузер теряет фокус из-за нажатия чего-то вроде сочетания клавиш.Я полагаю, с этим можно жить.

1 Ответ

1 голос
/ 09 мая 2011

Вы правы!статусу клика нельзя доверять ... он расстраивал меня в течение нескольких часов.

, но, возможно, перетаскиваемый JQuery все еще остается для вас решением.

Все, что вам нужно сделать, - это использовать прозрачный помощник:

$("#draggable3").draggable({
        cursor: "move",
        helper: function( event ) {
            return $( "<div>" );
        },
                     start: function(event, ui){},
                     drag: function(event, ui){},
                     stop: function(event, ui){}
    });

больше по адресу: http://jqueryui.com/demos/draggable/#event-start (пример пользовательского помощника). В качестве дополнительного удара вы можете использовать сброс с классом наведения:

http://jqueryui.com/demos/droppable/#visual-feedback

...