首次单击已加载的页面时,ON方法不会触发

时间:2013-01-08 18:39:41

标签: javascript jquery-ui jquery this

这只是应用于textarea的触发器之间的冲突,我获取文本和a.comment触发器

//首先阅读

为什么这个ON方法在页面加载时第一次点击不起作用? 。只有在我点击页面的任何部分后,在第二次点击时,点击事件才起作用。有任何想法吗? BTW我正在使用firefox和firebug,如果你知道一种方法可以在firebug面板中获得更好的信息来解决这种奇怪的行为。我会感谢你的帮助。 我正在使用jquery-1.7.2.min。

$(document).ready(function(){

    $('a.comment').on("click", function(event){
   event.preventDefault();
       var comment_text = $("#comment").val();
   if(comment_text !="Escriba aqui su comentario")
       {
      $.post("../load.php?comment_text="+comment_text, function(response){
        //on response
      })
       }
    });

});

这是html部分:

<textarea id="comment"></textarea> /*only one on the page*/
<a id="c_id-XXX" class="comment"> Comment</a>  /* XXX = diferent num*/

1 个答案:

答案 0 :(得分:1)

看看here

我已经编辑了你的作品,现在很好:

$(document).ready(function(){

    $('a.comment').on("click", function(event){
   event.preventDefault();
      alert('in'); //testing if we are in
       var comment_text = $("#comment").val();
   if(comment_text !="Escriba aqui su comentario")
       {
//no need for extra brackets here as long as you are not passing args.
      $.post("../load.php?comment_text="+comment_text,  
 function(response){
        //on response
      }); // no use for settimeout()
       }
      alert('out'); // checking that we have done it :)
    });     

});

希望我帮助