2013-06-08 2 views
4

J'ai une application de bureau en utilisant glisser la page glisser, mais quand je mets une étiquette de sélection dans la page de diapositives, la balise de sélection ne peut pas apparaître dans la boîte, arrivé le problème? Merci d'avance! ici démo est:causes de plugin de swiper sélectionner ne peut pas pop zone de liste déroulante

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link rel="stylesheet" type="text/css" href="styles/swiper/idangerous.swiper.css"/> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js">  </script> 
<!-- 翻页 依赖jquery --> 
<script type="text/javascript" src="js/swiper/idangerous.swiper-1.9.js"></script> 
<title>swiper demo</title> 
<script type="text/javascript"> 
    $(function(){ 
     $('.swiper-container, .swiper-slide').css({ 
      height: ($(window).height()) + 'px', 
      width: '100%' 
     }); 
     var mySwiper = $('.swiper-container').swiper({ 
      //Your options here: 
      mode:'horizontal', 
      loop: false, 
      keyboardControl: true, 
      // mousewheelControl: true, 
      onSlideChangeStart: function(swiper){ 
       pageCurrentNum = swiper.realIndex; 
       $('#currentPage').text(pageCurrentNum + 1); 
       gridster = null; 
       gridster = $('#gridster' + pageCurrentNum +'>ul').gridster(gridsterOpts).data('gridster'); 
       if(!confingInfo.isDebug){ 
        gridster.disable(); 
       } 
      }, 
     }); 
    }) 
</script> 

</head> 
<body> 
    <div class="swiper-container responsive"> 
     <div class="swiper-wrapper" style="background:red;"> 
     <!--First Slide--> 
     <div class="swiper-slide "> 
      page1 
      <select> 
       <option>test1</option> 
       <option>test2</option> 
       <option>test3</option> 
      </select> 
     </div> 

      <!--Second Slide--> 
      <div class="swiper-slide"> 
      page2 
      </div> 
     </div> 
    </div> 

    </body> 
</html> 

Répondre

8

je résolu le problème en utilisant les codes soulignent:

$('.swiper-slide select').on('mousedown touchstart MSPointerDown', function(e){ 
      e.stopPropagation(); 
    }); 

Espérons que cela peut vous aider à qui est arrivé le même problème comme moi!

+0

Merci pour le partage! –

+0

Merci pour l'info. Tu as fait ma journée. – suish

+0

Quelqu'un a essayé d'utiliser cela avec le Selectric? – coderade

4

Je sais que c'est une vieille question. Mais sur Swiper 3, la réponse de Dean ne fonctionne pas.

Ma solution est d'ajouter class = "swiper-no-swiping" à SELECT tag.

Espérons que cela aide.

+0

Merci pour le partage, sauvé ma soirée! – itaynoy

0

Si vous n'avez pas besoin des événements tactiles sur le bureau, vous pouvez le désactiver avec l'option simulateTouch.

Voir: http://idangero.us/swiper/api/

Questions connexes