jQuery.事件委托

事件委托


事件委托就是利用事件冒泡原理,把处理任务委托给父元素或者祖先元素(通常用父元素),我们通过目标对象来判断事件源,并执行事件处理。

 

$(el).on( events [, selector ] [, data ], handler(eventObject) )

el是父元素,selector是子元素,事件处理函数。


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件委托</title>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js">
</script>
</head>
<body>
<div>
<ul id="ul">
<li id="a">油条</li>
<li id="b">包子</li>
<li id="c">米饺</li>
<li id="d">鱼粉</li>
</ul>
</div>
<p id="notes">单击列表项,或光标移到列表项</p>
<script>
$('ul').on('click mouseover', ':not(#four)',
{status: 'important'},
function (e) {
listItem = '列表项' + e.target.textContent + '<br/>';
itemStatus = '状态' + e.data.status + '<br/>';
eventType = '事件' + e.type;
$('#notes').html(listItem + itemStatus + eventType);
});
</script>
</body>
</html>

 


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件委托</title>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js">
</script>
</head>
<body>
<div>
<ul id="ul">
<li id="a">脚后跟</li>
<li id="b">反对</li>
<li id="c">发的</li>
<li id="d">广泛的</li>
</ul>
</div>
<p id="notes">单机列表项,或光标移到列表项</p>
<script>
$('ul').on('click mouseover', ':not(#four)',
function (e) {
listItem = '列事项' + e.target.textContent + '<br/>';
eventType = '事件' + e.type;
$('#notes').html(listItem + eventType);
});
</script>
</body>
</html>

 

posted @ 2018-07-24 17:01  HL()  阅读(126)  评论(0编辑  收藏  举报