-1

我正在尝试让音频声音在触摸时播放,但无法使其始终如一地工作,它在 android 上有库存和 dolphin,但在 ipad 上根本不工作。我试过mousedown,onclick,touchstart,on touchstart。他们都没有工作

<canvas id="scratcher1" class="scratchMe" width="99px" height="89px" onmousedown="alert(down)" onclick="alert(click)" touchstart="alert(touch)" ontouchstart="alert(ontouch)"></canvas>
<canvas id="scratcher2" class="scratchMe" width="99px" height="89px" onmousedown="scratch.play()"></canvas>

这就是它现在的情况,切换到警报,所以我可以尝试找出哪个有效,正如我所说的那样。

4

3 回答 3

0

您可以使用 javascript 初始化代码将事件编程添加到画布:

document.getElementById("scratcher1").addEventListener("mousedown", alert, false);

它应该工作。“响应画布上的鼠标和触摸事件”下了解更多信息

于 2013-01-17T09:50:08.163 回答
0

所有触摸动作都提供以下触摸动作序列:

ontouchstart ontouchmove ontouchend onclick

只有 ontouchmove 可以避免,其余的都是为触摸动作生成的。

请检查这些。希望能帮助到你

于 2013-01-17T10:08:34.110 回答
0

设法通过这个论坛找到答案。

http://www.dynamicdrive.com/forums/showthread.php?65787-How-to-combine-eventhandlers-for-mouse-and-touchscreen- (例如-iPad )

iPad也有类似的情况。

<script type="text/javascript">

(function(){ var first = document.getElementById('scratcher1'), second = document.getElementById('scratcher2'); 第三 = document.getElementById('scratcher3'); 第四 = document.getElementById('scratcher4');第五 = document.getElementById('scratcher5'); 第六 = document.getElementById('scratcher6'); 第七 = document.getElementById('scratcher7'); 第八 = document.getElementById('scratcher8');

first.ontouchstart = second.ontouchstart = third.ontouchstart = fourth.ontouchstart = fifth.ontouchstart = sixth.ontouchstart = seventh.ontouchstart = eighth.ontouchstart = function () {
    scratch.play()
};

})();

是什么终于让它工作了。

于 2013-01-17T10:36:35.097 回答