jquery on事件委派用法
阿新 • • 發佈:2018-12-22
$( elements ).on( events, [selector], data, handler );
elements 代表元素 document div table p #div1 #id a[name=‘update’] form span
events 代表事件 onclick submit
data 代表其他引數
[selector]選擇器可選,一個選擇器字串用於過濾器的觸發事件的選擇器元素的後代。被選元素的子元素必須是"合法的"子元素 如table 的子元素是 tr td
示例:
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲div1").on("clic…
});
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲div2").delegate…(this).css(“background-color”,“pink”);
});
注意: 如果 on 繫結的元素是動態元素,則寫法必須是這樣:
$(document).on(‘click’,"#detail_table a[name=‘delete’]",function(e){
//e.target.tagName;
console.log(e.target.id+",name="+ e.target.name);
});
<!DOCTYPE html>
<html>
<head>
<title>jquery on 繫結事件用法</title>
<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="json.js"></script>
<script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script>
$(function(){
var html = "";
var obj = {"total":10,"data":[{"msid":"186888974499890","state":"使用者成功"},{"msid":"186888950650996","state":"使用者失敗"},{"msid":"186888632315903","state":"使用者成功"},{"msid":"186888284765968","state":"使用者失敗"},{"msid":"186888778721984","state":"使用者成功"},{"msid":"18688846658585","state":"使用者失敗"},{"msid":"186888257605268","state":"使用者成功"}],"state":"0"};
$.each(obj.data, function(i, item) {
html+="<tr>"
+"<td id=''>"+item.msid+"</td>"
+"<td>"+item.state+"</td>"
+"<td><a href='javascript:void(0);' id='"+item.msid+"' name='update'>修改</a></td>"
+"<td><a href='javascript:void(0);' id='"+item.msid+"' name='delete'>刪除</a></td>"
+"</tr>";
});
// onclick='update("+item.msid+")'
$("#detail_table").html(html);
$( "#detail_table a[name='update']" ).on( "click",function(e) {
console.log( e.target.id );
});
/**
//修改
$(document).on('click',"#detail_table a[name='update']",function(e){
//e.target.tagName;
console.log(e.target.id+",name="+e.target.name);
});
//刪除
$(document).on('click',"#detail_table a[name='delete']",function(e){
//e.target.tagName;
console.log(e.target.id+",name="+e.target.name);
});
*/
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
});
function update(id){
alert(id);
}
</script>
</head>
<body>
<table id="detail_table" class="listTable" >
</table>
<a href='javascript:void(0);' id='132132' name='update'>修改</a>
<div>
<p>這是一個段落。</p>
<button>點選</button>
</div>
</body>
</html>