【问题标题】:Cordova/Android on click/tap/vclick/touchstart not workingCordova/Android on click/tap/vclick/touchstart 不工作
【发布时间】:2016-08-27 08:12:27
【问题描述】:

注意:以下问题仅发生在 4.4.2 以上的 Android 版本上(据我所知)


TL;DR 按钮附有 click/tap/vclick/touchstart,在我的 cordova 应用程序(仅限 Android)中似乎只能部分工作(10-30% 的时间)。

我正在尝试为 ios/android/windows 开发一个混合应用程序。在应用程序中,我会有偶尔需要触发某些操作的按钮。

一般我会使用.on('click', function() { ... });,但我了解到click 并不能真正与移动设备配合使用。

我尝试将click 更改为vclicktaptouchstart。但似乎没有什么能触发我的点击事件。

接下来我尝试查看是否有任何 css 阻止了我的触发器,但没有一致的。

问题在于,当我在控制台中应用以下代码时,它有时会起作用(并非总是如此):

$('.anyElement').on('tap', function(){
  console.log("tapped");
});

我还尝试了以下方法,因为我认为绑定以某种方式搞砸了:

$('.anyElement').off().on('tap', function(){
  console.log("tapped");
});

所以目前我有点不知道该去哪里找了。如果有办法让我弄清楚为什么我的东西没有被触发,那就太好了!

【问题讨论】:

    标签: android jquery cordova jquery-mobile


    【解决方案1】:

    在英特尔 xdk 上的科尔多瓦 jquery 应用程序上遇到了同样的问题,为我解决了这个问题,至少现在是在我的 index.html 中评论“fastclick.min.js”。似乎 fastclick.min.js 是导致 android 问题的原因,因为它在 IOS 上运行,请查看http://community.phonegap.com/nitobi/topics/simple-js-events-like-onclick-are-not-working-on-devices 他还通过删除一些冲突的 js 来解决它,在他的情况下为“smoothstate.js”。我仍在尝试找出更好的解决方法,如果它存在的话

    【讨论】:

    • 很遗憾我没有使用 fastclick 库。但是,我确实尝试检查其他库并对其进行评论,但对我来说没有任何改变。这是我正在使用的库的快速摘要:cordova.js、jquery-1.8.2.min.js、jquery.mobile-1.3.0.min.js、jquery.event.drag-2.2.js、jquery .mobile.simpledialog2.min.js、jQMProgressBar.js、slick.core.js、slick.grid.js、slick.dataview.js、slick.pager.js、toastr.min.js、moment.min.js、下划线.min.js、data-selector.js 和 statusbar.js
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    相关资源
    最近更新 更多