Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- // Вопросы/баги/техподдержка/обучение-бесплатно: github.com/catamphetamine
- var isDraggingVideo = false
- var isClickingVideo = false
- var video
- var videoClickX
- var videoClickY
- var DRAG_THRESHOLD = 4
- var removeVideoClickListener
- function cancelVideoClick(event) {
- event.preventDefault()
- removeVideoClickListener()
- }
- function onMouseDown(event) {
- if (event.target.tagName === 'VIDEO') {
- isClickingVideo = true
- video = event.target
- videoClickX = event.clientX
- videoClickY = event.clientY
- }
- }
- function onMouseUp(event) {
- if (isClickingVideo) {
- reset()
- }
- }
- function onMouseMove(event) {
- if (isClickingVideo && !isDraggingVideo) {
- if (Math.abs(event.clientX - videoClickX) > DRAG_THRESHOLD ||
- Math.abs(event.clientY - videoClickY) > DRAG_THRESHOLD) {
- isDraggingVideo = true
- video.addEventListener('click', cancelVideoClick)
- removeVideoClickListener = (function(video) {
- return function() {
- video.removeEventListener('click', cancelVideoClick)
- removeVideoClickListener = undefined
- }
- })(video)
- }
- }
- }
- function reset() {
- isDraggingVideo = false
- isClickingVideo = false
- video = undefined
- videoClickX = undefined
- videoClickY = undefined
- }
- window.addEventListener('mousedown', onMouseDown)
- window.addEventListener('mouseup', onMouseUp)
- window.addEventListener('mousemove', onMouseMove)
- console.log('Заплатка для видеоплеера активирована')
- return function() {
- reset()
- if (removeVideoClickListener) {
- removeVideoClickListener()
- }
- window.removeEventListener('mousedown', onMouseDown)
- window.removeEventListener('mouseup', onMouseUp)
- window.removeEventListener('mousemove', onMouseMove)
- }
- })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement