简体   繁体   English

jQuery addClass()在removeClass()之后不起作用

[英]jquery addClass() not working after removeClass()

I have got two jquery functions. 我有两个jquery函数。 When calling the first function classes are being removed and two onclick attributes are being changed. 调用第一个函数类时,将删除它们,并更改两个onclick属性。

But after calling the function to remove the classes the second function won't work, so the classes cannot be added anymore and the onclick event, too. 但是,在调用该函数以删除这些类之后,第二个函数将无法工作,因此无法再添加这些类,也无法添加onclick事件。

Edit 1: As already said the first function is working! 编辑1:如前所述,第一个功能正在起作用! The onclick events are being changed and the classes are being removed. onclick事件将被更改,类将被删除。 It does not work when adding the same classes and functions again within the second function! 在第二个功能中再次添加相同的类和功能时,它将不起作用! When adding a new class it is working, but it is not working when adding one of the removed classes or onclick events! 在添加新类时,它可以工作,但是在添加已删除的类之一或onclick事件时,它不能工作!

Here's the code: 这是代码:

// show info
function showKursInfo() {
    $(".kright").removeClass("kursMobileOpen");
    $(".kleft").removeClass("kursMobileInfo");

    $(".kright").attr("onclick","#");
    $(".kheader").attr("onclick","hideKursInfo('someInfo');");
}
// hide info
function hideKursInfo() {
    $(".kright").addClass("kursMobileOpen");
    $(".kleft").addClass("kursMobileInfo");

    $(".kright").attr("onclick","showKursInfo('someInfo');");
    $(".kheader").attr("onclick","#");
}

Thanks for your help! 谢谢你的帮助!

And to the ones who are disliking the question: Please tell me why this is a bad question? 对于那些不喜欢这个问题的人:请告诉我为什么这是一个不好的问题?

Don't use attr for register click events. 不要将attr用于注册点击事件。 Use click or on ! 使用clickon

// show info
function showKursInfo() {
    $(".kright").removeClass("kursMobileOpen");
    $(".kleft").removeClass("kursMobileInfo");

    $(".kright").off("click");
    $(".kheader").on("click", hideKursInfo);
}

// hide info
function hideKursInfo() {
    $(".kright").addClass("kursMobileOpen");
    $(".kleft").addClass("kursMobileInfo");

    $(".kright").on("click", showKursInfo);
    $(".kheader").off("click");
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM