#jquery #jquery-plugins
#jquery #jquery-плагины
Вопрос:
Я пытаюсь реализовать что-то похожее на это, в котором я могу перетаскивать содержимое div, а также щелкать и прокручивать до элемента. Мне удалось найти эти два плагина, dragscrollable и scrollto, каждый плагин отлично работает отдельно от моего div, но когда я добавляю два плагина вместе, кажется, возникает конфликт между наведением курсора мыши и событием щелчка, я имею в виду, когда я удерживаю мышь для перетаскивания, перетаскивание происходит успешно, когда я отпускаю мышь, но затем я прокручиваюсь обратно к элементу, на котором я держал мышь, чтобы начать перетаскивание, как если бы я нажал на элемент. Я знаю, что щелчок — это последовательность нажатия мыши вниз и мыши вверх, но есть ли какой-либо способ провести различие между удерживанием мыши и ее отпусканием, чтобы начать перетаскивание, а затем остановиться в том месте, где я отпустил мышь, и между щелчком по элементу внутри div для прокрутки к нему?
Заранее спасибо
Ответ №1:
Вы ознакомились с другими событиями мыши, предлагаемыми jquery. Вы могли бы выполнить перетаскивание с помощью комбинации mousedown и mousemove. Если мышь переместилась далеко, вы можете отменить любой имеющийся у вас обработчик щелчков, поскольку это должно было быть перетаскивание, а не одиночный щелчок.
Взгляните на:http://api.jquery.com/mousedown http://api.jquery.com/mousemove http://api.jquery.com/mouseup
Комментарии:
1. Перетаскивание уже реализовано с использованием комбинации mousedown и mousemove, а действие scrollTo реализуется через обработчик щелчков. Информация о том, как долго перемещалась мышь, будет находиться внутри обработчика mousemove, верно? Но я не знаю, как бы мне отменить щелчок изнутри перемещения.