javascript – jQuery事件直到第二次点击才开始?

我有以下jQuery代码.我第一次点击链接时,没有任何反应;但是,在第二次单击链接时,会发生预期的操作.

$("a[rel]").bind("click", function(){
   $(".close_button_change_password").attr('id','change_password_'+$(this).attr('id'));
   $(this).overlay({
      // disable this for modal dialog-type of overlays
      closeOnClick: true,
      mask: {
         color: '#fff',
         loadSpeed: 200,
         opacity: 0.8
      }
   });
});

这是我的HTML:

<a href="#" rel="#change_password" id="1">change password</a>

有谁知道如何解决这个问题?在此先感谢您的任何帮助.

最佳答案 尝试

$("a[rel]").live("click", function(){ ....

或者你可以尝试..,但我不认为这会解决它.

$("a[rel]").live("change", function(){ ....   

并确保它在DOM准备好.

您可以尝试阻止默认操作,这可能会干扰您的第一次点击.

$("a[rel]").bind("click", function(event){
event.preventDefault(); // <---------^^
$(".close_button_change_password").attr('id','change_password_'+$(this).attr('id'));
$(this).overlay({
   // disable this for modal dialog-type of overlays
   closeOnClick: true,
   mask: {
      color: '#fff',
      loadSpeed: 200,
      opacity: 0.8
   }
    });
});
点赞