JavaScript onTouch不起作用

Sha*_*per 5 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');
}
Run Code Online (Sandbox Code Playgroud)

我正在使用iPad 1.

Jac*_*one 8

我的建议是一样提出了一个位置上的MDN:

var el = document.getElementsByTagName("canvas");  
el.addEventListener("touchstart", handleStart, false); 
Run Code Online (Sandbox Code Playgroud)

我对ontouch属性的犹豫是跨设备支持.为此,您可以考虑功能检测.

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

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

编辑:

在随后的日子里,我跑过这个文档描述了触摸事件.与大部分技术一样,还有更多......

  • 使用.addEventListener()和touchstart事件就可以了.谢谢你帮助一个菜鸟而不让我感到愚蠢. (2认同)

小智 5

根本没有"touch"事件。你可以找到touchstarttouchendtouchmovetouchcancel事件,在显示该链接。我认为你必须touchstart在你的 HTML 中使用:

ontouchstart="logOut()"
Run Code Online (Sandbox Code Playgroud)

另请参阅此网页