我如何用一个数组触发触摸事件
How do I trigger touchevents with an array?
在我的应用程序中,用户可以开始录制,他们触摸的每个按钮将被保存到一个数组
例如:"[{"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)
}
相关文章:
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 如何使用纯javascript的移动触摸事件
- 移动定时触摸事件
- 模拟html5的触摸事件
- Phonegap/Cordova:如何添加Javascript多点触摸事件
- 如何在AngularJS中监听点击事件,而不是触摸事件
- 我可以让我的网站的内容可编辑区域对安卓股票浏览器上的触摸事件更敏感吗
- 在 Firefox 中“解析”触摸事件
- 将触摸事件转换为鼠标事件仅每秒有效一次
- 在移动 Safari 上向下拖动时,触摸事件停止触发 - iPad HTML5
- 如何在 javascript 中触发触摸事件
- 为什么触摸事件不在手指按压的中间
- 如何启用离子多点触摸事件
- 当我将位置更改为绝对时,画布精灵表和触摸事件不起作用
- 当元素在事件绑定后附加到DOM时,触摸事件不起作用
- JavaScript的触摸事件
- Tizen可穿戴设备屏幕顶部的Javascript触摸事件
- 用标准javascript而不是jquery中的mousedown、mousemove和mouseup触摸事件句柄
- (窗口中的'ontouchstart')返回true,但没有触摸事件
- 传单触摸事件未触发