我刚刚开始使用JQuery,我遇到了一个问题,关于为一个动态创建的按钮添加一个click事件监听器。
因此,当用户点击第一个按钮时,我的第一个功能只是将第二个按钮添加到div中。 问题是使用相同的方法,我的第二个按钮的监听器不起作用。 这是我正在尝试做的一个简单的例子。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//listener for first button
$("#button1").click(function(event){
event.preventDefault();
$("#newElement").append("<input type='button' id='button2' value='Need listener for this new button'>");
});
//listener for the seccond button (problematic one)
$("#button2").click(function(event){
event.preventDefault();
alert("Second button clicked!");
});
});
</script>
<title>Exemple JQuery</title>
</head>
<body>
<input type="button" id="button1" value="Add a new button dynamically">
<div id="newElement">
</div>
</body>
</html>
非常欢迎任何想法。谢谢
答案 0 :(得分:2)
动态插入元素的委托事件处理程序
$("#newElement").on('click', "#button2", function(event){
event.preventDefault();
alert("Second button clicked!");
});