我正在构建一个Web应用程序,但是在iOS7中,jquery.touchSwipe和我的“单击”事件之间存在干扰。
该Web应用程序在较旧的iOS版本上运行良好,没有障碍。
问题是,如果我将jquery.touchSwipe插件包含到我的Web应用程序中,则“单击时”事件不起作用; “ -webkit-touch-callout:无;”都不会起作用,这意味着我的div可以选择(不是我想要的)。不过,jquery.touchSwipe的滑动功能仍然可以使用。
如果我摆脱了jquery.touchSwipe插件,那么我所有的“点击”效果都很好
这就是我作为html的内容(例如,btn_bottom div,它是放置在应用程序底部的一个按钮):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>Jh Portfolio | mobile</title>
<link rel="apple-touch-icon" sizes="57x57" href="jh_logo57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="jh_logo72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="jh_logo114.png" />
<link rel="apple-touch-icon" sizes="157x157" href="jh_logo157.png" />
<!-- stylesheets -->
<link rel="stylesheet" href="layout.css" type="text/css">
<link rel="stylesheet" href="info/layout_info.css" type="text/css">
<link rel="stylesheet" href="clients/layout_clients.css" type="text/css">
<link rel="stylesheet" href="each_clients_bazar.css" type="text/css">
<link rel="stylesheet" href="contact/layout_contact.css" type="text/css">
</head>
<body>
<div id="...">
<div id="..." class="...">
<div id="..." class="..."></div>
<div id="..."></div>
</div>
</div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="...">
<div id="..." class="...">
<img src="---.gif" width="..." height="..." alt="...">
</div>
</div>
<div id="...">
<div id="..." class="..."></div>
</div>
<div id="...">
<div id="..." class="...">
<div id="...">
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="...">
<div id="..." class="..."></div>
<div id="..." class="..."></div>
<div id="..." class="..."></div>
<div id="..." class="..."></div>
</div>
</div>
</div>
</div>
<div id="...">
<div id="..." class="...">
<div id="...">
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="...">
<div id="..." class="..."></div>
<div id="..." class="..."></div>
<div id="..." class="..."></div>
<div id="..." class="..."></div>
</div>
</div>
</div>
</div>
<div id="...">
<div id="..." class="...">
<div id="..."></div>
<div id="..."></div>
<div id="..." class="..."></div>
<div id="..." class="..."></div>
</div>
</div>
<div id="...">
<div id="...">
<div id="..."></div>
<div id="..."></div>
</div>
</div>
<div id="btn_bottom"></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<div id="..."></div>
<script src="preloader.js" type="text/javascript"></script>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.viewport.js" type="text/javascript"></script>
<script type="text/javascript" src="iscroll.js"></script>
<script src="jquery.touchSwipe.min.js" type="text/javascript"></script>
<script src="jhmobile.js" type="text/javascript"></script>
<!-- This is for a canvas animation-->
<script src="http://code.createjs.com/easeljs-0.6.0.min.js"></script>
<script src="http://code.createjs.com/tweenjs-0.4.0.min.js"></script>
<script src="http://code.createjs.com/movieclip-0.6.0.min.js"></script>
<script src="http://code.createjs.com/preloadjs-0.3.0.min.js"></script>
<script src="clients/esb/esb_728x90.js"></script>
</body>
</html>
这是该按钮的CSS(“ div id =” btn_bottom“):
#btn_bottom {
margin: auto;
position: relative;
margin-top: -191px;
height: 191px;
width: 229px;
clear:both;
opacity:1;
z-index:101;
-webkit-touch-callout: none;
-ms-touch-action: none;
cursor: pointer;
}
事实:
W3C已成功将我的.html检查为HTML5。
我使用最新的Jquery以及jquery.touchSwipe。
jquery.touchSwipe滑动效果很好。
在所有台式机浏览器以及较旧的iOS上,一切工作正常(“滑动”和“按钮”)。
我想知道是否有人将我的touchSwipe插件与其他脚本(在iOS7下)结合使用后为何无法单击按钮。
谢谢你们。
最佳答案
如果有人遇到相同的问题,我只是想说我发现的最佳解决方案是切换到touchWipe插件而不是touchswipe。
touchWipe的唯一不便之处在于,它不适用于桌面浏览器,但是由于我打算将此效果用于移动设备,因此非常完美。