Я разрабатываю список дел. Я хочу переключить класс элемента списка HTML, который представляет собой задачу. Элемент list генерируется пользователем после загрузки страницы. Теперь функция ToggleClass не работает. Я могу поймать событие dblclick в консоли, но класс не переключается.ToggleClass() для созданного пользователем элемента не работает
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>
The CSS-класс
.done{
color: #006600;
}
В документации [здесь] (http://api.jquery.com/on/), 'selector' является строкой, а не массивом. Удалите скобки '[...]' ... – War10ck
В doc '[, selector]' означает необязательный :) Используя '['li"] ', вы передаете его как данные события, и поэтому' this' внутри обработчик ссылается на 'document', а затем вы переключили класс на документ (который не имеет смысла) –