5

ボタンが2つあります

 $(".button1").on("click", function(event){
 $(".button2").on("click", function(event){

私がやりたいのは、ボタン1がクリックされ、イベントリスナーがない状態から開始することです。ボタン2がクリックされると、イベントリスナーが削除され、ボタン1のイベントリスナーがアクティブになります。

これはかなり一般的な手法であり、アクションスクリプト3ではメソッドremoveEventListener()を使用しており、jqueryでも同様のメソッドまたは手法を使用したいと考えています。

4

3 に答える 3

7

バインドされたイベントハンドラーを削除したい場合は、jQuery.onおそらく必要ですjQuery.off

http://api.jquery.com/off/

于 2012-04-30T14:04:45.750 に答える
5

on()メソッドはイベントをoff()バインドし、それをアンバインドします。パラメーターを指定するoff()と、指定されたイベントのみがバインド解除されますが、パラメーターがないとすべてのイベントがバインド解除されます。

    $('.button1').on('click', function() {
        console.log('button1');
        $(this).off('click');
        $('.button2').on('click');
    })
    $('.button2').on('click', function() {
         console.log('button2');
        $(this).off('click');
        $('.button1').on('click');
    })
于 2012-04-30T14:06:10.010 に答える
0

これは私が持っているものですが、イベントリスナーを元に戻すことはありません

 $(".slide1").on("click", function(){
    $(this).addClass('on');
    $('.slide2').removeClass('on');
     $(this).off('click');
    $('.slide2').on('click');
});

$(".slide2").on("click", function(){
    $(this).addClass('on');
    $('.slide1').removeClass('on');
    $(this).off('click');
    $('.slide1').on('click');
});
于 2012-04-30T14:20:52.590 に答える