1

在我的 html 页面上,有一个最初具有类名“show-update”的按钮。单击该按钮后,该按钮将更改为另一个类名,我想为该特定类设置另一个单击事件。但是,我仍然没有成功做到这一点。有谁知道如何解决它?我正在使用 jquery 1.72

这是我的代码http://jsfiddle.net/dwGCH/1/

4

4 回答 4

1

我已经更新了 JSFiddle http://jsfiddle.net/dwGCH/3/

   $('.show-update').click(function() {
      $(this)
      .addClass('update-profile')
      .removeClass("show-update")
      .unbind()
      .click(function() {
         alert('updated'); 
      });
      alert('change to update'); 
   });
于 2012-08-05T10:18:16.197 回答
1

这是一个小提琴:http: //jsfiddle.net/dwGCH/9/

Add a click event first to the temporary class, and then one to the button class which only fires if the updated class is present.

于 2012-08-05T10:24:12.543 回答
1
$(document).on('click', '.update-profile', function(){
    alert('updated');
 });

 $(".show-update").on('click', function(e){ 
     // some function here
     // ...           
     $(this).addClass("update-profile").removeClass("show-update").off('click');
     alert('change to update');
 });​

FIDDLE

于 2012-08-05T10:45:27.640 回答
0

我不确定是否理解,此代码在每次单击时切换两个处理程序:

 $('.update-profile').on('click', function(){
    alert('updated');
 });

$(".show-update").on('click', fn1);

function fn1(event)
{             
     // some function here
     // ...           
     $(this).addClass("update-profile");
     $('.update-profile').removeClass("show-update");
     $(this).off('click');
    $(this).on('click', fn2);
     alert('fn1');
}
function fn2(event)
{             
     // some function here
     // ...           
     $(this).removeClass("update-profile");
     $('.update-profile').addClass("show-update");
     $(this).off('click');
    $(this).on('click', fn1);
     alert('fn2');
}
于 2012-08-05T10:21:14.367 回答