Also remove 'once' event listeners when destroying (they may still be waiting)
This commit is contained in:
parent
53933dff7e
commit
927326f715
2
src/js/controls.js
vendored
2
src/js/controls.js
vendored
@ -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`;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user