diff --git a/html/static/js/player.js b/html/static/js/player.js
index cd53293..12bd0ab 100644
--- a/html/static/js/player.js
+++ b/html/static/js/player.js
@@ -3,7 +3,6 @@ import {SubscribeButton} from "/static/js/subscribe.js"
const video = q("#video")
const audio = q("#audio")
-const timestamps = qa("a[data-clickable-timestamp]")
const videoFormats = new Map()
const audioFormats = new Map()
@@ -223,8 +222,21 @@ document.addEventListener("keydown", event => {
new SubscribeButton(q("#subscribe"))
-Array.from(timestamps).forEach(el => el.addEventListener('click', event => {
- event.preventDefault()
- video.currentTime = event.target.getAttribute("data-clickable-timestamp")
- window.history.replaceState({}, "", event.target.href)
-}))
+const timestamps = qa("[data-clickable-timestamp]")
+
+class Timestamp extends ElemJS {
+ constructor(element) {
+ super(element)
+ this.on("click", this.onClick.bind(this))
+ }
+
+ onClick(event) {
+ event.preventDefault()
+ video.currentTime = event.target.getAttribute("data-clickable-timestamp")
+ window.history.replaceState(null, "", event.target.href)
+ }
+}
+
+timestamps.forEach(el => {
+ new Timestamp(el)
+})