2017-02-24 1 views
0

Wir haben eine Seite mit einem Video modal YouTube, aber die folgende Fehlermeldung erhalten, wenn sie auf dem Video klicken:YouTube modal statisch

Uncaught TypeError: $(...).on is not a function 
at HTMLAnchorElement.<anonymous> ({bfd8100b-7a47-4b28-9e6d-e26f4a7d9ed9}_ytplayer001.js:747) 
at HTMLAnchorElement.handle (jquery.tools.min.js:75) 
at HTMLAnchorElement.o (jquery.tools.min.js:69) 

Das Video modal erscheint, wie es sollte, aber eine „snowy“ -Bildschirm und die Videoplayer-Controller reagieren nicht. Ich dachte, es könnte mit einem Konfliktproblem zusammenhängen und geändert

} (jQuery));

zu

} (jQuery.noConflict()));

aber das Problem besteht immer noch. Ich denke, ich vermisse etwas sehr offensichtlich, aber nach mehreren Tagen der Fehlersuche, immer noch nicht herausfinden.

AKTUALISIEREN - Wenn ich die Datei jquery.tools.min.js lösche, wird das Video wiedergegeben, aber die Formularüberprüfung wird beendet. Es liegt also etwas an der Datei jquery.tools.min.js, die mit den YouTube-Videos kollidiert.

UPDATE - Durch Ersetzen der jquery.tools.min.js durch die aktuelle Version wurde das Problem mit der Video- und Formularvalidierung behoben. Alles, was übrig bleibt, ist herauszufinden, warum die Schließen-Taste des Videomodals nicht funktioniert. Wenn das Video modal Öffnen erscheint die folgende Fehlermeldung:

TypeError: $(...).on is not a function 
$('.vid-close').on('click', function() { 
+0

Gibt es eine Chance, dass Sie eine Beispielseite machen, dass hat nur diesen Code drin, damit wir das Problem anvisieren können, ohne auf den ganzen anderen Code zu schauen? –

+0

Es scheint, dass Sie in Ihrem Code die gleichen IDs mehrmals verwenden (zB: 'video-component, featuredMedia' usw.). Tu das nicht. Ids sollen einzigartig sein. – Ionut

Antwort

1

ändern diese:

$(document).on('click', '.vid-close', function() { 
    $('#vidlightbox').hide(); 
    if (videosource == "youtube") { 
     $('#vidcontent').empty(); 
     att.entbus.ytPlayer.stopAll(); 
    } else { 
     if (jwplayer('jwPlayer') != null) { 
      try { 
      jwplayer('jwPlayer').remove(); 
      } catch(err) {} 
     } 
    } 
}); 

Um dies:

$('.vid-close').on('click', function() { 
    $('#vidlightbox').hide(); 
    if (videosource == "youtube") { 
     $('#vidcontent').empty(); 
     att.entbus.ytPlayer.stopAll(); 
    } else { 
     if (jwplayer('jwPlayer') != null) { 
      try { 
      jwplayer('jwPlayer').remove(); 
      } catch(err) {} 
     } 
    } 
});