我正在學習jQuery,並且遇到了與.on()
事件處理程序有關的問題。我不知道爲什麼類done
未被添加到動態添加的新列表項中。任何援助將不勝感激。 jsFiddle類沒有被添加到點擊事件處理程序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
ul li{
list-style: none;
}
.done{
text-decoration: line-through;
color: red;
}
.green{
color:green;
}
</style>
</head>
<script type="text/javascript">
$(document).ready(function(){
$('#taskText').keydown(function(evt){
if(evt.keyCode == 13){
addTask(this, evt);
}
});
$('#addTask').click(function(evt){
addTask(document.getElementById('taskText'), evt);
});
//the problem is the code below//
$('#tasks li').on("click", function(evt){
$(this).addClass('done');
});
});
function addTask(textBox, evt){
evt.preventDefault();
var taskText = textBox.value;
$("<li>").text(taskText).appendTo('#tasks');
textBox.value = '';
};
</script>
<body>
<ul id = "tasks">
</ul>
<input type= 'text' id ='taskText'>
<input type = 'submit' id ="addTask" />
<div class = "green"> green text</div>
</body>
</html>
謝謝,我現在明白了。 –