aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plyr.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/plyr.js')
-rw-r--r--src/js/plyr.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 71ca363e..2d2267da 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -245,6 +245,8 @@ class Plyr {
return;
}
+ this.eventListeners = [];
+
// Create listeners
this.listeners = new Listeners(this);
@@ -271,7 +273,7 @@ class Plyr {
// Listen for events if debugging
if (this.config.debug) {
- utils.on(this.elements.container, this.config.events.join(' '), event => {
+ utils.on.call(this, this.elements.container, this.config.events.join(' '), event => {
this.debug.log(`event: ${event.type}`);
});
}
@@ -961,9 +963,16 @@ class Plyr {
* @param {function} callback - Callback for when event occurs
*/
on(event, callback) {
- utils.on(this.elements.container, event, callback);
+ utils.on.call(this, this.elements.container, event, callback);
+ }
+ /**
+ * Add event listeners once
+ * @param {string} event - Event type
+ * @param {function} callback - Callback for when event occurs
+ */
+ once(event, callback) {
+ utils.once(this.elements.container, event, callback);
}
-
/**
* Remove event listeners
* @param {string} event - Event type
@@ -1014,8 +1023,7 @@ class Plyr {
}
} else {
// Unbind listeners
- this.listeners.clear();
-
+ utils.cleanupEventListeners.call(this);
// Replace the container with the original element provided
utils.replaceElement(this.elements.original, this.elements.container);