我有iPad的PhoneGap-iOS应用程序,用户将获得Logout Popup,如下图所示。
我想在用户点击Body时隐藏此弹出窗口。
我的code
适用于原生浏览器,iPad Simulator
上的无法正常工作。
$("body").ClickOrTouch(function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
答案 0 :(得分:3)
在iPhone中,iPad设备点击事件仅适用于锚标记,不适用于span或div标记,因此请尝试此操作。
$("body").on('click touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
答案 1 :(得分:2)
也许event.touches[0].target
可以在移动版Safari中执行此操作(您已经获得了触摸数组,以便逐个管理多点触控事件)。
如本主题中所述:Mobile Safari - event.target in touch event
但我认为值得尝试使用jquery-ui-touch-punch。
这是我在移动网络应用上使用jquery管理触摸事件的方式(例如cordova / phonegap)
非常简单:只需添加此库,任何touh事件都会像鼠标事件一样。
(按下/向上=>鼠标向下/向上,单击=>点击等...)
答案 2 :(得分:2)
$("body").on('touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}else{
evt.stopPropagation();
}
});
答案 3 :(得分:1)
$("body").on('touchend', function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});