gpt4 book ai didi

javascript - 如何使用数组触发 touchevents?

转载 作者:行者123 更新时间:2023-11-30 05:37:39 26 4
gpt4 key购买 nike

在我的应用程序中,用户可以开始录制,他们触摸的每个按钮都将保存到一个数组中

例如:

"[{"time":1835,"elemId":"bass"},{"time":2553,"elemId":"highhat"}]"

然后我有一个函数,它引入数组并且应该播放每个触摸但是,我现在的代码只是带来了一个错误

document.getElementById('playback').onclick = function () {
console.log(localStorage.getItem("eventlist"));
var playback = JSON.parse(window.localStorage.getItem("eventlist"))


for (i = 0; i < playback.length; i++) {
play = playback[i];
setTimeout((function (play) {
return function () {
document.getElementById(play.elemId).touchstart();
}
})(play), play.time)
}
}

error: Uncaught TypeError: Object #<HTMLDivElement> has no method 'touchstart'.

我将不胜感激,因为我遇到了困难,在此先感谢您!

HTML:<div class="drum" id="bass" ontouchstart="play('bass');" ontouchend="touchEnd(event);">Bass</div>

最佳答案

我建议嵌入对描述演奏乐器的函数或字符串参数的引用,而不是元素的 ID。这是更快、更优雅的解决方案。

"[{"time":1835,"elemId":"bass"},{"time":2553,"elemId":"highhat"}]"

for (i = 0; i < playback.length; i++) {
instrument = playback[i];
setTimeout(function (instrument) {
play(instrument.elemId)
}, instrument.time)
}

关于javascript - 如何使用数组触发 touchevents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22698629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com