Javascript 用于读取项的jQuery类转换器
我应该创建一个清单 如果用户单击某个任务(在本例中为aJavascript 用于读取项的jQuery类转换器,javascript,jquery,html,css,class,Javascript,Jquery,Html,Css,Class,我应该创建一个清单 如果用户单击某个任务(在本例中为a),该任务应消失并完成。我通过切换jQuery类解决了这个问题: $('li').click(function() { $(this).toggleClass("checked unchecked"); }); 一切正常。如果用户单击列表项,则类将从“未选中的”更改为“已选中的” 但是有一个添加新任务的选项(上面的小加号图标)。如果添加新的列表项,则类别更改器对此不起作用。如果你点击它,什么也不会发生 我希望你们能理解我,我的英语不是
),该任务应消失并完成。我通过切换jQuery类解决了这个问题:
$('li').click(function() {
$(this).toggleClass("checked unchecked");
});
一切正常。如果用户单击列表项,则类将从“未选中的”更改为“已选中的”
但是有一个添加新任务的选项(上面的小加号图标)。如果添加新的列表项,则类别更改器对此不起作用。如果你点击它,什么也不会发生
我希望你们能理解我,我的英语不是很好:-)
看看:。您需要使用事件委派将事件附加到动态添加的元素
事件委派允许我们将单个事件侦听器附加到父元素,该事件侦听器将为与选择器匹配的所有子体触发,无论这些子体现在存在还是将来添加
这是因为当您将单击处理程序绑定到
元素时,动态创建的新项不存在。要解决此问题,您可以使用事件委派和开启
方法:
$('.todo-list').on('click', 'li', function() {
$(this).toggleClass('checked unchecked');
});
这里的.todo list
是
元素的静态父元素
更多:您必须将事件绑定到动态生成的事件
$('ul').on("click", "li", function() {
$(this).toggleClass("checked unchecked");
});
$('ul').on("click", "li", function() {
$(this).toggleClass("checked unchecked");
});