为什么我用JS动态生成的DIV模块,里面的点击方法不生效?

JavaScript039

为什么我用JS动态生成的DIV模块,里面的点击方法不生效?,第1张

不生效主要是因为:

动态生成的dom之前的绑定事件都失效了

动态追加的元素之前的都有事件都已经没了

解决方法:

给父级绑定事件,采用事件委托的方式

dom动态生成后,再次获取和重新绑定事件即可

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<!-- 引入jquery -->

<script src="js/jquery-1.7.2.min.js"></script>

</head>

<body>

<ul>

<li>第一个</li>

<li>第二个</li>

<li id="unbind">第三个</li>

</ul>

<script>

$(function(){

//给li绑定点击事件

$("li").click(function(event) {

//返回当前li的索引

alert($(this).index())

})

//给id为unbind的元素删除点击事件

$('#unbind').unbind("click")

})

</script>

</body>

</html>

unbind(type [,data])     //data是要移除的函数

$('#btn').unbind("click")//移除click

$('#btn').unbind()//移除所有