我是一个初学者,尝试使用Kinetic Js和“phonegap build”开发手机游戏。我遇到了一个我不知道该如何解决的问题。
我做了一些测试:

  • 我只是将this code here粘贴到index.html中,然后将代码发送到phonegap build,后者从html代码创建了apk文件。
    该应用程序运行良好,但是如果您玩了一点,可能会看到不希望有的行为:可以轻触一下整个“舞台”,并在发生时(实际上是不容易做到的,但确实发生)可以点击听到android操作系统的标准喀哒声,您会看到整个区域突出显示了一秒钟。就像您在浏览器中并单击链接一样。
  • 我编译(使用phonegap构建)链接的指南针模拟器here,它可以工作,但是当您点击指南针的图片时,您会触发点击声音。如果您在浏览器/仿真器上运行它,这是不希望的效果。
  • 我只是在体内放置了一些png图像,以避免使用canvas和KineticJs。我也没有添加任何脚本。在这种情况下,点击时没有点击事件。但是如果我加上
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
    

    (即使不添加任何脚本),然后再次轻按即可产生click事件。如果我删除两行中的任何一行,则单击事件就会消失。另外,如果我添加
    <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.5.4.min.js"></script>
    

    body 再次可点击,产生亮点和点击声音。 (我仍在谈论带有phonegap构建的已编译应用程序)。

  • 我尝试用 <body> 替换 <body onmousedown="return false;"> 但没有帮助。我还尝试将$("#object").click( function () {return false;})与 Canvas 的div元素,图片和正文一起使用,也没有帮助。我寻找建议使 anchor 不可点击,以查看是否可以应用 anchor ,但是我没有发现任何有用的方法。

    有什么建议吗?

    更新:另一个无法解决的尝试是:stage.off('tap click mousedown touchstart touchend dbltap');

    最佳答案

    你有试过吗?

    stage.on('tap touchstart touchend', function() {
      return false;
    });
    

    这也可能有帮助:
    canvas {
      /*-webkit-tap-highlight-color: transparent; Some users reported this worked for them, although rgba(0,0,0,0); worked for the asker*/
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      outline: none;
    }
    

    这是有关 webkit-touch-callout 的快速链接,我不确定它是否对您的情况有帮助... http://phonegap-tips.com/articles/essential-phonegap-css-webkit-touch-callout.html

    编辑: 看来电话间隙的作者建议使用 -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 来防止链接选择。来源:https://github.com/phonegap/phonegap-start/blob/master/www/css/index.css

    关于javascript - 如何防止文档主体上的单击事件(可能是Cordova中的错误?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17493032/

    10-12 00:00
    查看更多