Javascript 用户生成的元素上的ToggleClass()无效

Javascript 用户生成的元素上的ToggleClass()无效,javascript,jquery,toggleclass,Javascript,Jquery,Toggleclass,我正在制定一份待办事项清单。我想切换表示待办事项的HTML列表元素的类。列表元素由用户在页面加载后生成。我现在使用的ToggleClass函数不起作用。我能够在控制台中捕获dblclick事件,但该类不会切换 JavaScript/Jquery如下所示: $(document).ready(function () { $(document).on("dblclick", ["li"], setStatus); console.log("Call setStatus"); });

我正在制定一份待办事项清单。我想切换表示待办事项的HTML列表元素的类。列表元素由用户在页面加载后生成。我现在使用的ToggleClass函数不起作用。我能够在控制台中捕获dblclick事件,但该类不会切换

JavaScript/Jquery如下所示:

$(document).ready(function () {
    $(document).on("dblclick", ["li"], setStatus); 
    console.log("Call setStatus");
});
和setStatus函数:

setStatus = function (){ 
    console.log("Double clicked on the li");
    $(this).toggleClass("done");
}; 
HTML

 <body>
        <div id ="todoList">
            <ul></ul>
        </div>
        <input type ="text" id ="todoText"/>
        <button id ="addTodoButton">Add!</button>
    </body>
从[li]中删除[],它不是有效的选择器,您的代码触发了回调,因此在控制台中显示了消息

从[li]中删除[],它不是有效的选择器,您的代码触发了回调,因此在控制台中显示了消息。

根据文档,选择器是字符串而不是数组。删除doc中的方括号[…]。[,selector]表示可选:使用[li],您将其作为事件数据传递,因此此内部处理程序引用文档,然后您在文档上切换类,而该类对文档没有意义。根据文档,选择器是字符串而不是数组。删除doc中的方括号[…]。[,selector]表示可选:使用[li]将其作为事件数据传递,因此此内部处理程序引用文档,然后在文档上切换没有意义的类
.done{
    color: #006600;
}
$(document).ready(function () {
    $(document).on("dblclick", "li", setStatus); 
    console.log("Call setStatus");
});