JavaScript onTouch不起作用

时间:2012-06-08 22:14:45

标签: javascript touch

有人可以告诉我为什么这个onTouch处理程序没有触发。

var myDiv = document.getElementById('existingContent');
var myButton = '<a href="#" onClick="logOut();" ontouch="logOut()">log out</a>';
myDiv.appendChild(myButton);

function logOut() {
  alert('hello');
}

我正在使用iPad 1.

3 个答案:

答案 0 :(得分:6)

我的建议与MDN上建议的here相同:

var el = document.getElementsByTagName("canvas");  
el.addEventListener("touchstart", handleStart, false); 

我对ontouch属性的犹豫是跨设备支持。为此,您可以考虑进行特征检测。

Modernizr是确定是否在运行时启用触摸的常用方法。

如果启用了上述事件,则会将触摸或不触摸的类添加到html元素中,并用于确定上述代码是否应该运行。

编辑:

在随后的几天里,我遇到了描述触摸事件的this文档。与大部分技术一样,还有更多的技术......

答案 1 :(得分:3)

根本没有"touch"事件。您可以找到touchstarttouchendtouchmovetouchcancel个事件,如this link所示。我认为您必须在HTML中使用touchstart

ontouchstart="logOut()"

另见webpage

答案 2 :(得分:-1)

尝试使用 onfocus =“ logOut()” 代替ontouch =“ logOut()”