JQuery 動態刪除添加html元素,修改後的元素如果不bind事件,是不能有事件的,
下面是livequery插件的例子
<!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" />
<script type="text/javascript" src="jquery.js"></script>
<script src="jquery.livequery.js" type="text/javascript" charset="utf-8"></script>
<title>jquery動態添加刪除元素綁定事件</title>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("#add").bind('click',function(){
$('#example').empty().append('<li ><a href="#" class="dynamic">動態修改html元素</a></li>');
this.blur();
});
$(".dynamic").livequery('click',function(){
alert("修改後的html元素的點擊事件");
return false;
});
});
</script>
</head>
<body>
<div>
<span><input type="button" name="add" value="add" id="add"></span>
<ul id="example">
<li > <a href="#" class="dynamic">List Item</a></li>
<li ><a href="#" class="dynamic">List Item</a></li>
</ul>
</div>
</body>
</html>
當想通過頁面元素ID或者CSS,當ID或者CSS不是頁面原本的,是由後面動態添加或者是彈出窗口,都需要先綁定事件,然後才能對其進行操作,否則不行。
例如:
test是新增的id值,通過點擊該id然後進行相關操作
$("#test").unbind('click');
$("#test").bind('click',function(){
//對該id點擊後的操作
});