我有适用于 iPad 的 PhoneGap-iOS 应用程序,用户将在其中获得注销弹出窗口,如下图所示。
我希望当用户单击正文时隐藏此弹出窗口。我code
适用于本机浏览器的不适用于iPad Simulator
.
$("body").ClickOrTouch(function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
我有适用于 iPad 的 PhoneGap-iOS 应用程序,用户将在其中获得注销弹出窗口,如下图所示。
我希望当用户单击正文时隐藏此弹出窗口。我code
适用于本机浏览器的不适用于iPad Simulator
.
$("body").ClickOrTouch(function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
在 iPhone 中,iPad 设备的点击事件仅适用于锚标签,不适用于 span 或 div 标签,所以试试这个它会起作用。
$("body").on('click touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
也许event.touches[0].target
可以在移动 safari 上做到这一点(你有 touches 数组来管理多点触控事件,一个手指)。如本主题所述:Mobile Safari - event.target in touch event
但我认为值得尝试jquery-ui-touch-punch。
这是我用来在移动网络应用程序(如cordova/phonegap)上使用jquery管理触摸事件的方法
非常简单:只需添加此库即可使任何 touh 事件的行为类似于鼠标事件。
(触摸向下/向上 => 鼠标向下/向上,单击 => 单击等...)
$("body").on('touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}else{
evt.stopPropagation();
}
});
你尝试过不同的活动了吗?可能是这样的?
$("body").on('touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});