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?

OriginalL'auteur Hirvesh | 2011-02-19