ebody: Fehler bei "Wisch" Funktion mit jQuery mobile

Hallo,

ich verwende ein Karussell http://holdirbootstrap.de/javascript/#carousel und auf mobilen Geräten soll man nicht nur auf die Pfeile links und rechts drücken können, sondern auch "wischen" können.

Dafür habe ich jQuery mobile eingebunden und diese Funktion:

<script>
$(document).ready(function() {  
	 $(".carousel-inner").swiperight(function() {  
		  $(this).parent().carousel('prev');  
			});  
	   $(".carousel-inner").swipeleft(function() {  
		  $(this).parent().carousel('next');  
   });  
}); 
</script>

Um jQuery mobile einzubinden wird auf der Seite https://jquerymobile.com/download/ u.a. diese Variante angeboten.

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>

Binde ich das ein zeigt die Console keinen Fehler und das wischen funktioniert. Ich habe dann gesehen, dass die jQuery Version älter ist und habe die aktuelle eingebunden. Dann erscheint eine Fehlermeldung in der Console.

jquery.mobile-1.4.5.js:3337 Uncaught TypeError: Cannot read property 'concat' of undefined…

jquery.min.js:2 jQuery.Deferred exception: $(...).swiperight is not a function TypeError: $(...).swiperight is not a function...

jquery.min.js:2 Uncaught TypeError: $(...).swiperight is not a function...

Muss man für jQuery mobile wirklich eine ältere Version von jQuery einbinden oder liegt der Fehler doch woanders?

Gruß ebody

  1. Hallo ebody,

    Um jQuery mobile einzubinden wird auf der Seite https://jquerymobile.com/download/ u.a. diese Variante angeboten.

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    

    Binde ich das ein zeigt die Console keinen Fehler und das wischen funktioniert. Ich habe dann gesehen, dass die jQuery Version älter ist und habe die aktuelle eingebunden. Dann erscheint eine Fehlermeldung in der Console.

    jquery.mobile-1.4.5.js:3337 Uncaught TypeError: Cannot read property 'concat' of undefined…

    jquery.min.js:2 jQuery.Deferred exception: $(...).swiperight is not a function TypeError: $(...).swiperight is not a function...

    jquery.min.js:2 Uncaught TypeError: $(...).swiperight is not a function...

    Muss man für jQuery mobile wirklich eine ältere Version von jQuery einbinden oder liegt der Fehler doch woanders?

    Die letzte jQM-Version ist 1.4.5 (1.5 Beta ist nicht produktiv nutzbar). jQuery 1.x und 2.x werden unterstützt, ich tendiere für Kompatibilität zu 1.x:

    <!-- eigenes CSS -->
    <link rel="stylesheet" href="eigenes.css" type="text/css"/>
    <!-- jQuery Mobile Stylesheet -->
    <link rel="stylesheet" href="jquery.mobile-1.4.5.min.css" type="text/css" />
    <!-- jQuery Library -->
    <script src="jquery-1.12.4.min.js" type="text/javascript"></script>
    <!-- eigenes JavaScript -->
    <script src="eigenes.js" type="text/javascript"></script>
    <!-- jQuery Mobile Library -->
    <script src="jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
    
    

    type-Attribut kann für HTML5 entfallen.

    Grüße,
    Thomas