Javascript 用户生成的元素上的ToggleClass()无效
我正在制定一份待办事项清单。我想切换表示待办事项的HTML列表元素的类。列表元素由用户在页面加载后生成。我现在使用的ToggleClass函数不起作用。我能够在控制台中捕获dblclick事件,但该类不会切换 JavaScript/Jquery如下所示: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"); });
$(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");
});