Jquery Cliquez sur l'Événement à ne Pas tirer Sur le Premier Clic, mais n'est sur le deuxième clic, pourquoi?
J'ai un code jquery, qui
$("a.reply").click(function() {
//code
});
Lorsque je clique sur le lien avec .réponse de la classe la première fois, rien ne se passe. La deuxième fois que je clique, le code à l'intérieur de la fonction de clic œuvres.
Le lien est inséré sur la page à l'aide de php à partir d'une base de données mysql. il n'est donc pas l'insertion dynamique.
Pourquoi est-ce arrivé? Toute solution?
Le BadASS Code:
$(function(){
//TextArea Max Width
var textmaxwidth = $('#wrapper').css('width');
//Initialize Focus ids To Different Initially
var oldcommentid = -1;
var newcommentid = -2;
//End Of initialization
$("a.reply").click(function() {
newcommentid = $(this).attr('id');
if (newcommentid == oldcommentid)
{
oldcommentid=newcommentid;
$("#comment_body").focus();
}
else
{
$('#comment_form').fadeOut(0, function(){$(this).remove()});
var commetformcode = $('<form id="comment_form" action="post_comment.php" method="post"><textarea name="comment_body" id="comment_body" class="added_comment_body" rows="2"></textarea> <input type="hidden" name="parent_id" id="parent_id" value="0"/> <div id="submit_button"> <input type="submit" value="Share"/><input type="button" id="cancelbutton" value="Cancel"/></div></form>');
commetformcode.hide().insertAfter($(this)).fadeIn(300);
//
var id = $(this).attr("id");
$("#parent_id").attr("value", id);
oldcommentid=newcommentid;
//dynamicformcreation function
dynarun();
//
}
return false;
});
dynarun();
function dynarun()
{
//Form Re-Run Functions
$('#comment_body').elastic();
texthover();
$("#comment_form input, select, button").uniform();
textareasizer();
$("#comment_body").focus();
$("abbr.timestamp").timeago();
return false;
}
//TextArea Resizer Function
function textareasizer(){$("#comment_body").css('max-width', textmaxwidth);return false;}
//Other Miscellaneous Functions
$('.comment-holder').hover(
function(event) {
$(this).addClass('highlight');
},
function(event) {
$('.comment-holder').removeClass('highlight');
}
);
function texthover()
{
$('.added_comment_body').hover(
function(event) {
$(this).parent().parent().addClass('highlight');
},
function(event) {
$('.comment-holder').removeClass('highlight');
}
);
return false;
}
});
Va avoir besoin de plus de code ici, s'il vous plaît poster pertinentes du code HTML généré.
Ma première pensée serait il vient de "remontée d'événements". Vous pouvez poster votre HTML (l'utilisation JSFIDDLE pour cela)?
Ressemble problème est ailleurs. Cela fonctionne si vous remplacez le code dans la fonction de clic avec alert(1)?
J'ai posté le code...
avez-vous un message d'erreur sur l', cliquez d'abord sur? Pouvez-vous vérifier cela avec firebug ou en appuyant sur Cntr+Maj+J dans FF?
Ma première pensée serait il vient de "remontée d'événements". Vous pouvez poster votre HTML (l'utilisation JSFIDDLE pour cela)?
Ressemble problème est ailleurs. Cela fonctionne si vous remplacez le code dans la fonction de clic avec alert(1)?
J'ai posté le code...
avez-vous un message d'erreur sur l', cliquez d'abord sur? Pouvez-vous vérifier cela avec firebug ou en appuyant sur Cntr+Maj+J dans FF?
OriginalL'auteur Hirvesh | 2011-02-19
Vous devez vous connecter pour publier un commentaire.
C'est un longshot, mais êtes-vous en cours d'exécution une sorte de script de tracking? Comme webtrends ou coremetrics (ou même une partie de votre propre script, qui s dans le monde à la recherche de tous les clics)? J'ai rencontré un problème similaire il y a un moment, où l'initiale-cliquez sur a été capturé par coremetrics. Juste une pensée.
vous cloué homme. Il y avait une forme de style de script que j'utilisais. Enlever le script fait le tour. Maintenant tout fonctionne.
le script en question a été jquery uniforme. pixelmatrixdesign.com/uniform je souhaite que je pourrais le coup de pied que développeur dans le cul.
Un problème commun 🙂
merci beaucoup mon ami! Vous êtes un sauveteur. 🙂
OriginalL'auteur TNC
- T-il encore se produire si vous commentez tous vos codes et tout simplement avoir un
alert("hi")
à l'intérieur de la fonction de clic?Mise à jour
Je pense que Sarfaz a la bonne idée, mais je voudrais utiliser le document prêt fonction de la façon
nope, même avec le document prêt et seulement un simple clic sur la fonction d'alerte à l'intérieur, il ne fonctionne pas.
cette approche est essentiellement la même.
Si cela fonctionne, le deuxième temps, le document.prêt n'est pas susceptible d'aider ici, si c'est une bonne pratique à utiliser.
n'est-ce pas $(function(){ censé être une abréviation pour le document de prêt? :p
OriginalL'auteur Chris
Je viens de tomber sur le même problème et je l'ai résolu mon problème en supprimant:
vous pouvez utiliser bootstrap.min.js
OriginalL'auteur Hesam Esfahlani