0

我正在将点击链接的类更改为class2& 我想触发事件class2而不是class1. 我知道我可以手动检查新类然后 trigger() 它。还有其他方法吗?

在这里摆弄:http: //jsfiddle.net/usXa3/

html:

<a href="#" class="class1">Click me!</a>

Jquery 我有:

$('.class1').on('click', function(){
    console.log("class1 clicked");
    $(this).removeClass('class1').addClass('class2');
    $(this).off('click');
    //Do something here to fire class2 event.
});
$(document).on('click', 'class2', function(){
    console.log("class2 clicked");
});

我的解决方案 - 寻找替代方案:

$('.class1').on('click', function(){
    var thisClass = $(this).attr('class');
    if(thisClass == "class1");
    {
        $(this).removeClass('class1').addClass('class2');
    }
    else if(thisClass == "class2")
    {
        $(".class2").trigger( "click" );
    }
});
4

2 回答 2

1

使用one()之类的,

$('.class1').one('click', function(){
    alert("class1 clicked");
    $(this).toggleClass('class1 class2');
    //Do something here to fire class2 event. 
    $('.class2').on('click', function(){
        alert("class2 clicked");
    });
});

演示

于 2013-11-01T15:32:46.603 回答
1

尝试演示

$('.class1').on('click', function () {
    console.log("class1 clicked");
    $(this).toggleClass('class1 class2');
    $(this).off('click').on('click', function () {
        console.log("class2 clicked");
    });
});

.toggleClass()

于 2013-11-01T15:34:25.333 回答