window.click不会在Safari for iPad上触发

时间:2012-11-12 15:11:07

标签: javascript jquery ipad safari touch

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

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

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

2 个答案:

答案 0 :(得分:5)

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

$(window).bind("click touchstart", function(){...});

答案 1 :(得分:4)

尝试这样

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

它会检查设备是否有touchend事件,如果没有,则意味着您在桌面上,因此侦听器将等待click。如果它定义了,那么你就是在触摸设备上,你可以听取触摸事件。