有人可以告诉我为什么这个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.
答案 0 :(得分:6)
我的建议与MDN上建议的here相同:
var el = document.getElementsByTagName("canvas");
el.addEventListener("touchstart", handleStart, false);
我对ontouch属性的犹豫是跨设备支持。为此,您可以考虑进行特征检测。
Modernizr是确定是否在运行时启用触摸的常用方法。
如果启用了上述事件,则会将触摸或不触摸的类添加到html元素中,并用于确定上述代码是否应该运行。
编辑:
在随后的几天里,我遇到了描述触摸事件的this文档。与大部分技术一样,还有更多的技术......
答案 1 :(得分:3)
根本没有"touch"
事件。您可以找到touchstart
,touchend
,touchmove
和touchcancel
个事件,如this link所示。我认为您必须在HTML中使用touchstart
:
ontouchstart="logOut()"
另见webpage。
答案 2 :(得分:-1)
尝试使用 onfocus =“ logOut()” 代替ontouch =“ logOut()”