javascript - jQuery 基本切换只能以一种方式工作

标签 javascript jquery toggle

我创建了一些快速的 jQuery 切换代码:

$("#expander.closed").click(function(){
    console.log("opening");
    $("#expander").removeClass();
    $("#expander").addClass("open");
});
$("#expander.open").click(function(){
    console.log("closing");
    $("#expander").removeClass();
    $("#expander").addClass("closed");
});

这个想法是,每次您单击 #expander 时,类都会在 openclosed 之间切换。

但是,由于某种原因,它只工作一次,从closed 变为open,然后就不再继续了。

我不知道为什么。 Here's a jsFiddle .

最佳答案

我想一开始,当你绑定(bind)事件时,.closed 类不存在,所以事件没有被绑定(bind)

也许您应该将事件绑定(bind)到其他一些条件,或者使用 live。尽管已弃用

更好的方法是这样

$("#expander_parent").on('click', '#expander.closed', function(){
    // Do your stuff
})

关于javascript - jQuery 基本切换只能以一种方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901853/

相关文章:

javascript - underscore.js 嵌套的 json

javascript - 填充一组滑动切换中的可用空间

javascript - 使用 knockout 将 List 绑定(bind)到 Viewmodel

javascript - 为什么 Vue 组件对象不需要值?

jquery - JQuery Lightslider 幻灯片水平居中

javascript - Select2 下拉菜单不会在点击时关闭

javascript - .is (':visible' 的 JQuery if 语句)不起作用

javascript - 简单但棘手的显示/隐藏切换开/关组合让我疯狂

javascript - 我想在选择单选按钮时显示表格

javascript - 使用文件夹路径名,保存所有图像文件和文件名