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

フィドル

于 2012-08-05T10:45:27.640 に答える
1

ここにフィドルがあります:http://jsfiddle.net/dwGCH/9/

最初に一時クラスにクリック イベントを追加し、次に、更新されたクラスが存在する場合にのみ発生するボタン クラスにクリック イベントを追加します。

于 2012-08-05T10:24:12.543 に答える
0

よくわかりませんが、このコードはクリックごとに 2 つのハンドラーを切り替えます。

 $('.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 に答える