任何人都可以告诉我为什么这个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.
我的建议是一样提出了一个位置上的MDN:
var el = document.getElementsByTagName("canvas");
el.addEventListener("touchstart", handleStart, false);
Run Code Online (Sandbox Code Playgroud)
我对ontouch属性的犹豫是跨设备支持.为此,您可以考虑功能检测.
Modernizr是确定是否在运行时启用触摸的常用方法.
如果启用了上述事件,则会将触摸或不触摸的类添加到html元素中,并用于确定上面的代码是否应该运行.
编辑:
在随后的日子里,我跑过这个文档描述了触摸事件.与大部分技术一样,还有更多......
小智 5
根本没有"touch"事件。你可以找到touchstart,touchend,touchmove和touchcancel事件,在显示该链接。我认为你必须touchstart在你的 HTML 中使用:
ontouchstart="logOut()"
Run Code Online (Sandbox Code Playgroud)
另请参阅此网页。