jquery: перетаскиваемый плагин -> удалить поведение перетаскивания из html5 управления видео - PullRequest
4 голосов
/ 07 июня 2010

Я работаю с перетаскиваемым плагином jquery ui, и у меня есть html 5 видео-элемент с «элементами управления предзагрузкой», который действует как глючный. I

$(".thumb").draggable();

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

<div class='thumb video'><video width='260' height='200' preload controls>

У меня нет шансов снова выпустить видео, если я начал перетаскивать его на элементы управления видео.

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

Ответы [ 2 ]

1 голос
/ 30 июня 2010

Этот был жестким.Видеоплеер действительно прилипал к мышке и поглощал эти события.Однако вот мой обходной путь:

Я проверяю внутреннюю координату Y положения мыши при наведении курсора мыши (настраиваемое значение) и, если она выходит за пределы диапазона, я отключаю функцию drag-n-drop.Я видел, что событие mousemove () продолжало срабатывать, когда оно было липким, поэтому оно выглядело как идеальная точка доступа для логики:

$(function () {

    $('.thumb')
        .draggable()
        .mousemove(function (e) {
            var yAxis = e.pageY - this.offsetTop;
            $(this).draggable("option", "disabled", (yAxis > 150) ? true : false);
        });

});
0 голосов
/ 13 мая 2011

У меня была та же проблема - мне нужен перетаскиваемый видеоплеер, который можно перетаскивать во время воспроизведения, но как только он останавливается, он возвращается к состоянию миниатюр.

как вы узнали, видеопроигрыватель реагирует на mouseup, а не click событие. поэтому он приостанавливал видео всякий раз, когда я прекращал перетаскивать его, и я не мог отменить событие mouseup.

единственное решение, которое я нашел, было наложить видео на DIV, который работает как дескриптор для jQuery UI Draggable. Draggable использовали события mousedown, mouseup и mousemove, но событие click я остановил и остановил видео.

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

...