目前,为了检测触摸屏设备,我在javascript中使用了这个:
if ('createTouch' in document) {
// do touchscreen-specific stuff
}
我看到许多开发人员使用ontouchstart
,如下所示:
if ('ontouchstart' in document) {
// do touchscreen-specific stuff
}
createTouch
和ontouchstart
之间有什么区别?哪一个最安全?还有其他一些简单,可靠的替代品吗?
答案 0 :(得分:3)
touchstart
事件([MDN] [1])
createTouch
方法创建并返回一个新的Touch对象。([MDN] [2])
从我的观点来看,更好的方法是在窗口中检测事件的存在而不是仅创建事件。
此外,您的声明仅检查窗口对象中的现有触摸事件,而不是Windows手机等触摸屏,因此您可能也想检查指针事件。
P.S。:查看具有“触摸”检测功能的Modernizr库等等。
答案 1 :(得分:2)
ontouchstart
是基于事件的触发器。当用户执行某些操作时将调用它。有关详情,请访问ontouchstart event。因此,执行基于用户的动作更有效。
虽然将调用createtouch
,但无论用户是否执行了某些操作。如果我错了,请有人纠正我。 :)