0

我正在构建一个网络应用程序,但在 iOS7 中,jquery.touchSwipe和我的“点击”事件之间存在干扰。

该网络应用程序在较旧的 iOS 版本上运行良好,没有任何障碍。

问题是如果我将 jquery.touchSwipe 插件包含到我的网络应用程序中,“点击”事件将不起作用;“-webkit-touch-callout:无;” 两者都不起作用意味着我的 div 变得可选择(不是我想要的)。jquery.touchSwipe 中的 swipe 功能将起作用。

如果我摆脱 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;
} 

事实:

  • 我的 .html 被 W3C 成功检查为 HTML5。
  • 我使用最新的 Jquery 以及 jquery.touchSwipe。
  • jquery.touchSwipe 刷卡效果很好。
  • 在所有桌面浏览器以及旧版 iOS 上,一切都运行良好(“滑动”和“按钮”)。

如果我将 touchSwipe 插件与其他脚本(在 iOS7 下)结合使用,我想知道是否有人知道为什么按钮不可点击。

多谢你们。

4

1 回答 1

1

如果有人遇到同样的问题,我只想说我找到的最佳解决方案是切换到touchWipe插件而不是 touchswipe。

touchWipe 的唯一不便之处在于它无法在桌面浏览器上运行,但由于我打算将此效果用于移动设备,因此它非常完美。

于 2013-11-11T18:50:53.437 回答