erreur javascript “e” non défini lors de l'appel de l'e.preventDefault()
Je n'ai pas écrit ce code et j'ai du mal à comprendre pourquoi je me fais de la l'erreur suivante lors de la première e.preventDefault()
. J'ai essayé de déplacer ce code au sein de l' .click
gestionnaire d'événements, de les passer à function(e){}
, en le remplaçant par return false
, déclarant var e = $(this.href)
(ne riez pas, je suis en train d'apprendre), j'ai vérifié la valeur retournée dans a href
et il est de retour le bon hash
. La vidéo joue, mais j'obtiens cette erreur quand je lance IE débogueur. Quelqu'un s'il vous plaît dites-moi comment déboguer et résoudre ce problème. Grâce
HTML
<a href="#video1" class="blueBtn modal" style="width:150px;"><span>Watch Video <img width="10" height="17" src="images/bluebtn.png"></span></a></div>
Javascript
//FANCY BOX
$("a.modal").click(function(){
var inline=$(this).attr('href');
$.fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'href' : inline,
'onComplete' : function(){
$(inline+' .flowPlayer').videoPlayer();
$.fancybox.center(true);
},
'onClosed' : function(){loc();}
});
e.preventDefault();
});
$(".print").click(function(e){
window.open("print-docs/"+$(this).parent().attr('id')+".html","print","width=1,height=1");
e.preventDefault();
});
function loc(){
var location=window.location.href;
var replaceHash=location.replace(document.location.hash,"");
window.location.assign(replaceHash);
}
Lisez la documentation: api.jquery.com/event.preventDefault. Lorsque vous comparez votre code pour l'exemple, vous verrez que vous êtes de toute évidence quelque chose lui manque.
OriginalL'auteur Chris22 | 2012-09-04
Vous devez vous connecter pour publier un commentaire.
Devrait être
... au lieu de cela, tout comme dans le deuxième gestionnaire de clic. Voir, ces deux fonctions sont fournies avec le jQuery objet d'Événement (un wrapper autour de native Objet de l'événement) comme premier paramètre. Mais vous avez encore à laisser de JavaScript savoir comment exactement ce paramètre sera mentionné dans votre fonction. )
Je trouve cette ligne un peu trop suspect:
$(inline+' .flowPlayer').videoPlayer();
Pourriez-vous donner plus de détails sur ce sujet dans une autre question, peut-être?bien sûr @raina77ow. Je n'ai pas écrit le code, mais... MODIFIER la création d'un nouveau thread avec le code
OriginalL'auteur raina77ow
Vous devez ajouter le
e
paramètre vous-même:je ne sais pas pourquoi il a gelé votre fenêtre, vous devez avoir quelque chose d'autre se passe. Mais c'est certainement le moyen de passer de l'objet d'événement dans votre gestionnaire d'
+1 @Adam. Merci c'est ce que j'ai pensé ... il doit y avoir autre chose...
OriginalL'auteur Adam Rackis
Vous avez manqué la
e
paramètre:OriginalL'auteur Erwin