aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlbin Larsson <mail@albinlarsson.com>2018-06-12 19:43:08 +0200
committerAlbin Larsson <mail@albinlarsson.com>2018-06-12 20:00:41 +0200
commit927326f715132d56c79de70e9b871594514caa2f (patch)
tree8233bd7d1a5c239016ac594df316d9418c027992 /src
parent53933dff7eaa8074e57cccc7cab18d5be6c83fc4 (diff)
downloadplyr-927326f715132d56c79de70e9b871594514caa2f.tar.lz
plyr-927326f715132d56c79de70e9b871594514caa2f.tar.xz
plyr-927326f715132d56c79de70e9b871594514caa2f.zip
Also remove 'once' event listeners when destroying (they may still be waiting)
Diffstat (limited to 'src')
-rw-r--r--src/js/controls.js2
-rw-r--r--src/js/listeners.js2
-rw-r--r--src/js/plyr.js2
-rw-r--r--src/js/utils/events.js6
4 files changed, 6 insertions, 6 deletions
diff --git a/src/js/controls.js b/src/js/controls.js
index 6d15e486..0e28c222 100644
--- a/src/js/controls.js
+++ b/src/js/controls.js
@@ -1068,7 +1068,7 @@ const controls = {
};
// Listen for the transition finishing and restore auto height/width
- once(container, transitionEndEvent, restore);
+ once.call(this, container, transitionEndEvent, restore);
// Set dimensions to target
container.style.width = `${size.width}px`;
diff --git a/src/js/listeners.js b/src/js/listeners.js
index 0597e9d3..283bd4a2 100644
--- a/src/js/listeners.js
+++ b/src/js/listeners.js
@@ -210,7 +210,7 @@ class Listeners {
toggleListener.call(this.player, document.body, 'click', this.toggleMenu, toggle);
// Detect touch by events
- once(document.body, 'touchstart', this.firstTouch);
+ once.call(this.player, document.body, 'touchstart', this.firstTouch);
}
// Container listeners
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 71619851..543291e7 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -975,7 +975,7 @@ class Plyr {
* @param {function} callback - Callback for when event occurs
*/
once(event, callback) {
- once(this.elements.container, event, callback);
+ once.call(this, this.elements.container, event, callback);
}
/**
* Remove event listeners
diff --git a/src/js/utils/events.js b/src/js/utils/events.js
index 3923f291..d6ffc043 100644
--- a/src/js/utils/events.js
+++ b/src/js/utils/events.js
@@ -27,7 +27,7 @@ const supportsPassiveListeners = (() => {
})();
// Toggle event listener
-export function toggleListener(element, event, callback, toggle = false, passive = true, capture = false, once = false) {
+export function toggleListener(element, event, callback, toggle = false, passive = true, capture = false) {
// Bail if no element, event, or callback
if (!is.element(element) || is.empty(event) || !is.function(callback)) {
return;
@@ -52,7 +52,7 @@ export function toggleListener(element, event, callback, toggle = false, passive
// If a single node is passed, bind the event listener
events.forEach(type => {
- if (this && this.eventListeners && toggle && !once) {
+ if (this && this.eventListeners && toggle) {
// Cache event listener
this.eventListeners.push({ element, type, callback, options });
}
@@ -78,7 +78,7 @@ export function once(element, events = '', callback, passive = true, capture = f
callback.apply(this, args);
}
- toggleListener(element, events, onceCallback, true, passive, capture, true);
+ toggleListener.call(this, element, events, onceCallback, true, passive, capture);
}
// Trigger event