javascript事件委託程式碼例項
分享一段程式碼例項,它演示了javascript事件委託功能。
所謂的事件委託就是將自己的事情委託給別人幹。
比如下面的程式碼就是,本來應該註冊在li身上的事件處理函式,利用冒泡效果註冊在父元素ul身上。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> li { height: 30px; line-height: 30px; background: #ccc; list-style-type: none; margin: 3px; } </style> <script type="text/javascript"> window.onload = function() { var oUl = document.getElementById('ul'); var oLi = oUl.getElementsByTagName('li'); var num = oLi.length; function addEvent(ele, type, fn) { if (ele.addEventLisenter) { ele.addEventLisenter(type, fn, false) } else if (ele.attachEvent) { ele.attachEvent("on" + type, fn) } else { ele["on" + type] = fn; } } function clickFn(event) { var event = event || window.event; var tar = event.target || event.srcElement; for (var index = 0; index < oLi.length; index++) { oLi[index].style.color = ""; } if (tar.nodeName.toLowerCase() == "li") { tar.style.color = 'red' } } addEvent(oUl, 'click', clickFn); } </script> </head> <body> <ul id="ul"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> </ul> </body> </html>
上面的程式碼實現的效果是可以將當前點選的li元素字型顏色設定為紅色。
我們並沒有給li元素直接註冊click事件處理函式,而是註冊在它的父元素之上,利用冒泡原理,將自己的事情交給父元素做。
相關文章
- javascript委託程式碼例項JavaScript
- 委託、事件--委託例項篇事件
- JavaScript 事件委託詳解JavaScript事件
- javascript中的事件委託(代理)JavaScript事件
- JavaScript 事件委託或者事件代理介紹JavaScript事件
- jQuery程式碼優化:事件委託篇jQuery優化事件
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- javascript鍵盤事件程式碼例項JavaScript事件
- 事件委託事件
- JavaScript事件委託的技術原理JavaScript事件
- JavaScript進階系列06,事件委託JavaScript事件
- 委託與事件-委託詳解(一)事件
- JavaScript 中的閉包和事件委託JavaScript事件
- jQuery 事件委託jQuery事件
- 事件模型和事件委託事件模型
- JavaScript中常用的事件程式碼及例項JavaScript事件
- JavaScript 事件委託詳解 | 掘金技術徵文JavaScript事件
- C# 事件委託C#事件
- C#事件委託事件
- 重中之重:委託與事件事件
- C# 委託事件C#事件
- wpf移除事件委託事件
- Js 事件原理與事件委託JS事件
- JS事件流和事件委託JS事件
- 前端學習程式碼例項-JavaScript阻止事件冒泡前端JavaScript事件
- 委託、Lambda表示式、事件系列07,使用EventHandler委託事件
- javascript什麼是事件委託簡單介紹JavaScript事件
- JQuery7:事件委託jQuery事件
- C#委託與事件C#事件
- C# 事件 vs 委託C#事件
- C# - 委託與事件C#事件
- c# 委託和事件C#事件
- 委託與事件-事件詳解(二)事件
- 委託、Lambda表示式、事件系列01,委託是什麼,委託的基本用法,委託的Method和Target屬性事件
- 委託、Lambda表示式、事件系列05,Action委託與閉包事件
- js--事件流、事件委託、事件階段JS事件
- jQuery事件冒泡程式碼例項jQuery事件
- javascript的for in例項程式碼JavaScript