我正在构建一个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的唯一不便之处在于,它不适用于桌面浏览器,但是由于我打算将此效果用于移动设备,因此非常完美。

09-25 16:43