javascript - jquery addClass() 在removeClass() 之后不起作用

标签 javascript jquery

我有两个 jquery 函数。调用第一个函数时,类将被删除,并且两个 onclick 属性将被更改。

但是在调用删除类的函数后,第二个函数将不起作用,因此无法再添加类以及 onclick 事件。

编辑 1:正如已经说过的,第一个功能正在运行! onclick 事件正在更改并且类正在被删除。在第二个函数中再次添加相同的类和函数时,它不起作用!添加新类时它可以工作,但在添加已删除的类之一或 onclick 事件时它不起作用!

代码如下:

// 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","#");
}

感谢您的帮助!

对于那些不喜欢这个问题的人:请告诉我为什么这是一个糟糕的问题?

最佳答案

不要使用attr来注册点击事件。使用点击on!

// 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");
}

关于javascript - jquery addClass() 在removeClass() 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915953/

相关文章:

JavaScript new Date() 在 IE、Safari 中返回 NaN

javascript - 如果不尊重即使内在值(value)也是错误的

javascript - 使用嵌入式 PDF 检测 iframe 中的鼠标和键盘事件

javascript - 无法使用 jquery rte lwrte 获取 textarea 字段?(我认为是插件行为问题)

javascript - Angularjs 有条件地编辑模型

javascript - 当宽度低于最小限制时限制 Electron 应用程序调整大小

javascript - 自定义绑定(bind)中正确的依赖项跟踪

javascript - 如何读取 json 配置文件并将该参数设置为 ajax

jquery - 如何防止ajax get刷新MVC页面

javascript - 在 Internet Explorer 上显示 jQuery1281617118201 的标记