4

此代码在桌面浏览器中运行良好:

$(window).click(function() {...});

但在 iPad 上的 Safari 中,它根本不会触发。这不支持吗?当有人触摸浏览器窗口中的某个位置时收到通知的正确方法是什么?

4

2 回答 2

5

JQuery UI 支持touch设备。. 您可以在同一组事件上绑定单击和触摸侦听器。

$(window).bind("click touchstart", function(){...});
于 2012-11-12T15:19:07.517 回答
4

像这样试试

var clickOrTap = ( typeof document.body.ontouchend === "undefined" ) ? 'click' : 'touchend';
$( "body" ).on( clickOrTap, function() { ... } );

它检查设备是否有touchend事件,如果没有,则表示您在桌面上,因此侦听器将等待click. 如果它已定义,那么您就在触摸设备上,您可以监听触摸事件。

于 2012-11-12T15:24:05.550 回答