Jquery点击事件不首先点击,但第二次点击,为什么?

我有一个jquery代码,其中

$("a.reply").click(function() { //code }); 

当我第一次点击.reply类的链接时,没有任何反应。 我第二次点击,点击function内的代码工作。

使用来自mysql数据库的php在页面上插入链接。 所以它没有被动态插入。

为什么会这样? 有解决方案吗

BadASS代码:

 $(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 = $('
'); 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; } });

这是一个远景,但你在运行某种跟踪脚本吗? 像webtrends或coremetrics(甚至是你自己的一些脚本,那是全球范围内的所有点击)? 我不久前遇到了类似的问题,其中初始点击是由coremetrics捕获的。 只是一个想法。

如果您注释掉所有代码并且只是在点击function中有一个alert("hi")它是否仍然会发生?

更新

我认为Sarfaz有正确的想法,但我会像这样使用文档就绪函数

 $(document).ready(function(){ $("a.reply").click(function() { //code }); }); 

我遇到了同样的问题,我通过删除解决了我的问题:

  

你可以使用bootstrap.min.js