aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--changelog.md4
-rw-r--r--src/js/controls.js28
2 files changed, 22 insertions, 10 deletions
diff --git a/changelog.md b/changelog.md
index a4fc46b3..3dade1e1 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# v3.4.2
+
+- Fix play/pause button state
+
# v3.4.1
- Bug fix for custom controls (fixes #1161)
diff --git a/src/js/controls.js b/src/js/controls.js
index c04ba783..35eba971 100644
--- a/src/js/controls.js
+++ b/src/js/controls.js
@@ -1610,20 +1610,28 @@ const controls = {
// Add pressed property to buttons
if (!is.empty(this.elements.buttons)) {
+ const addProperty = button => {
+ const className = this.config.classNames.controlPressed;
+ Object.defineProperty(button, 'pressed', {
+ enumerable: true,
+ get() {
+ return hasClass(button, className);
+ },
+ set(pressed = false) {
+ toggleClass(button, className, pressed);
+ },
+ });
+ };
+
// Toggle classname when pressed property is set
Object.values(this.elements.buttons)
.filter(Boolean)
.forEach(button => {
- const className = this.config.classNames.controlPressed;
- Object.defineProperty(button, 'pressed', {
- enumerable: true,
- get() {
- return hasClass(button, className);
- },
- set(pressed = false) {
- toggleClass(button, className, pressed);
- },
- });
+ if (is.array(button)) {
+ button.filter(Boolean).forEach(addProperty);
+ } else {
+ addProperty(button);
+ }
});
}