diff options
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/controls.js | 1 | ||||
-rw-r--r-- | src/js/html5.js | 4 | ||||
-rw-r--r-- | src/js/listeners.js | 2 | ||||
-rw-r--r-- | src/js/plugins/preview-thumbnails.js | 4 | ||||
-rw-r--r-- | src/js/utils/elements.js | 3 |
5 files changed, 10 insertions, 4 deletions
diff --git a/src/js/controls.js b/src/js/controls.js index 15c82716..bfe1b61f 100644 --- a/src/js/controls.js +++ b/src/js/controls.js @@ -1580,6 +1580,7 @@ const controls = { element: 'a', href: this.download, target: '_blank', + download: '', }); const { download } = this.config.urls; diff --git a/src/js/html5.js b/src/js/html5.js index a28bccd5..d1e82489 100644 --- a/src/js/html5.js +++ b/src/js/html5.js @@ -65,6 +65,10 @@ const html5 = { return source && Number(source.getAttribute('size')); }, set(input) { + if (player.quality === input) { + return; + } + // If we're using an an external handler... if (player.config.quality.forced && is.function(player.config.quality.onChange)) { player.config.quality.onChange(input); diff --git a/src/js/listeners.js b/src/js/listeners.js index f68245e4..5b888a90 100644 --- a/src/js/listeners.js +++ b/src/js/listeners.js @@ -725,7 +725,7 @@ class Listeners { }); // Hide thumbnail preview - on mouse click, mouse leave, and video play/seek. All four are required, e.g., for buffering - this.bind(elements.progress, 'mouseleave click', () => { + this.bind(elements.progress, 'mouseleave touchend click', () => { const { previewThumbnails } = player; if (previewThumbnails && previewThumbnails.loaded) { diff --git a/src/js/plugins/preview-thumbnails.js b/src/js/plugins/preview-thumbnails.js index 44e6ace7..6cd09ef2 100644 --- a/src/js/plugins/preview-thumbnails.js +++ b/src/js/plugins/preview-thumbnails.js @@ -239,8 +239,8 @@ class PreviewThumbnails { } startScrubbing(event) { - // Only act on left mouse button (0), or touch device (event.button is false) - if (event.button === false || event.button === 0) { + // Only act on left mouse button (0), or touch device (event.button does not exist or is false) + if (is.nullOrUndefined(event.button) || event.button === false || event.button === 0) { this.mouseDown = true; // Wait until media has a duration diff --git a/src/js/utils/elements.js b/src/js/utils/elements.js index 4f10938e..921d533a 100644 --- a/src/js/utils/elements.js +++ b/src/js/utils/elements.js @@ -257,10 +257,11 @@ export function trapFocus(element = null, toggle = false) { const focusable = getElements.call(this, 'button:not(:disabled), input:not(:disabled), [tabindex]'); const first = focusable[0]; const last = focusable[focusable.length - 1]; + const player = this; const trap = event => { // Bail if not tab key or not fullscreen - if (event.key !== 'Tab' || event.keyCode !== 9) { + if (event.key !== 'Tab' || event.keyCode !== 9 || !player.fullscreen.active) { return; } |