Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有更新类的Fire事件_Javascript_Jquery - Fatal编程技术网

Javascript 具有更新类的Fire事件

Javascript 具有更新类的Fire事件,javascript,jquery,Javascript,Jquery,我正在将单击链接的类更改为class2&我想触发class2的事件,而不是class1。我知道我可以手动检查新类&然后触发它。还有别的办法吗 在这里拉小提琴: Html: 我的解决方案-寻找替代方案: $('.class1').on('click', function(){ var thisClass = $(this).attr('class'); if(thisClass == "class1"); { $(this).removeClass('cla

我正在将单击链接的类更改为
class2
&我想触发
class2
的事件,而不是
class1
。我知道我可以手动检查新类&然后触发它。还有别的办法吗

在这里拉小提琴:

Html:

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

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

试试看


您可以通过使用toggleClass('class1 class2')来改进这一点;这将实现相同的结果,而不是添加和删除类。谢谢。。这很有帮助。我会接受这个答案minute@Krishna欢迎乐意帮忙:)
$('.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" );
    }
});
$('.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");
    });
});
$('.class1').on('click', function () {
    console.log("class1 clicked");
    $(this).toggleClass('class1 class2');
    $(this).off('click').on('click', function () {
        console.log("class2 clicked");
    });
});