更改类后触发不同的事件 - Jquery

时间:2012-08-05 10:10:40

标签: jquery

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

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

4 个答案:

答案 0 :(得分: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'); 
   });

答案 1 :(得分:1)

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

首先在临时类中添加一个click事件,然后在按钮类中添加一个,只有在更新的类存在时才触发。

答案 2 :(得分: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

答案 3 :(得分: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');
}