Phonegap jQuery事件。目标不工作

Phonegap jQuery事件。目标不工作,jquery,ipad,cordova,event-handling,Jquery,Ipad,Cordova,Event Handling,我有一个适用于iPad的PhoneGap iOS应用程序,用户将在其中获得注销弹出窗口,如下图所示 我想这个弹出窗口隐藏时,用户点击身体。 在本机浏览器上运行的Mycode在iPad模拟器上运行不正常 $("body").ClickOrTouch(function (evt) { if (!(evt.target.id == "launchUsername") { $('#launchLogout').hide(); } }); 也许event.touchs[

我有一个适用于iPad的PhoneGap iOS应用程序,用户将在其中获得注销弹出窗口,如下图所示

我想这个弹出窗口隐藏时,用户点击身体。 在本机浏览器上运行的My
code
iPad模拟器上运行不正常

$("body").ClickOrTouch(function (evt) {
    if (!(evt.target.id == "launchUsername") {
        $('#launchLogout').hide();
    }
});

也许
event.touchs[0].target
可以在mobile safari上实现这一点(您已经拥有了touchs阵列,可以通过手指一个一个地管理多点触摸事件)。 如本主题所述:

但我认为值得一试

这是我在移动web应用程序(如cordova/phonegap)上使用jquery管理触摸事件的工具

非常简单:只需添加此库,任何touh事件的行为都类似于鼠标事件


(向下/向上=>鼠标向下/向上,单次按下=>单击等。)

您尝试过其他事件吗?大概是这样吧

$("body").on('touchend', function (evt) {
    if (!(evt.target.id == "launchUsername") {
        $('#launchLogout').hide();
    }
});

在iPhone中,iPad设备的click事件将只在锚定标记中工作,而不适用于span或div标记,所以试试这个,它会工作的

$("body").on('click touchend', function (evt) {
  if (!(evt.target.id == "launchUsername") {
    $('#launchLogout').hide();
  }
});

你试过真正的iDevice吗?我也在真正的设备上测试过。我将尝试使用jquery ui touch punch。但是当我在iPad模拟器上测试上面的代码时,我想知道上面的代码出了什么问题。嗯,不确定它的“clickOrTouch”是否没有大写字母“C”?clickOrTouch事件会被执行。只是event.target每次都显示未定义。是的,根据jquery文档,应该为跨浏览器规范化目标。。。来源:)那么我该如何进行规范化呢?有什么建议吗
$("body").on('click touchend', function (evt) {
  if (!(evt.target.id == "launchUsername") {
    $('#launchLogout').hide();
  }
});