我正在开发一个主要针对iPad的jQuery组件。是否有一种方法可以在桌面上模拟“touchstart”和“touchend”事件,而无需设备本身进行检查。
我正在开发一个jQuery组件,主要用于iPad。是否有任何途径在桌面电脑上模拟“touchstart” 和 “touchend” 事件,而不需要设备本身来检测这些事件?请注意,保留文本中的HTML标签格式。我正在开发一个主要针对iPad的jQuery组件。是否有一种方法可以在桌面上模拟“touchstart”和“touchend”事件,而无需设备本身进行检查。
我正在开发一个jQuery组件,主要用于iPad。是否有任何途径在桌面电脑上模拟“touchstart” 和 “touchend” 事件,而不需要设备本身来检测这些事件?请注意,保留文本中的HTML标签格式。您可以使用jQuery编写自定义事件:
var event = $.Event( "touchstart", { pageX:200, pageY:200 } );
你可以针对DOM中的任何元素发出它们:
$("body").trigger( event );
演示: http://jsbin.com/ezoxed/edit#javascript,html
更多阅读: http://api.jquery.com/category/events/event-object/
请记住,现在市场上有各种类型的界面不支持touchstart
和touchend
事件。例如,Windows 8已经在移动市场上占据了平板电脑,并使用了一个更抽象的事件模型,包括Pointers。
Chrome浏览器内的Chrome Dev-tools可以模拟触摸事件。请参见https://developers.google.com/chrome-developer-tools/docs/mobile-emulation。
来自文档...
模拟触摸事件
触摸是一种输入方法,在桌面上很难测试,因为大多数桌面没有触摸输入。必须在移动设备上进行测试,这可能会延长开发周期,因为每次更改都需要推送到服务器,然后加载到设备上。
解决此问题的方法是在开发机器上模拟触摸事件。对于单点触控,Chrome DevTools支持单点触控事件仿真,以便更轻松地在桌面上调试移动应用程序。
要从Chrome浏览器中使用(截至版本29.0.1547.65):
现在您的鼠标将显示为模糊的圆圈。 点击进行“触摸”。
截至2018年,Chrome DevTools已经直接支持设备仿真,无需任何覆盖设置。只需切换设备工具栏(Ctrl + Shift + M)即可将浏览器切换到移动模式,然后鼠标可以触发触摸事件。
ontouchstart
仍然不会触发。也许它只是不起作用,我必须模拟事件... - CunningFatalist