我是一个初学者,尝试使用Kinetic Js和“phonegap build”开发手机游戏。我遇到了一个我不知道该如何解决的问题。
我做了一些测试:
该应用程序运行良好,但是如果您玩了一点,可能会看到不希望有的行为:可以轻触一下整个“舞台”,并在发生时(实际上是不容易做到的,但确实发生)可以点击听到android操作系统的标准喀哒声,您会看到整个区域突出显示了一秒钟。就像您在浏览器中并单击链接一样。
<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/