日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让人省心的事件委托

發布時間:2025/3/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让人省心的事件委托 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事件委托:利用冒泡的原理把實踐添加到父元素級別上,觸發執行效果。

時間委托優點:
? ? ? 1.提高性能,不用for循環遍歷所有li,節省性能。
? ? ? 2.新添加的元素還會有原來之前的事件。


先看時間委托提高的性能吧,一個常見的效果,鼠標經過<li>列表背景變紅,鼠標移走取消背景色。下面代碼是沒使用時間委托:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testcss</title> <style></style> <script type="text/javascript"> window.οnlοad=function(){var oul=document.getElementsByTagName('ul')[0];var oli=oul.getElementsByTagName('li');for(var i=0;i<oli.length;i++){oli[i].οnmοuseοver=function(){this.style.background='red';};oli[i].οnmοuseοut=function(){this.style.background='';};}} </script> </head> <body><input type='button' value='添加' id='input1'/><ul><li>demo</li><li>demo</li><li>demo</li><li>demo</li><li>demo</li></ul> </body> </html>

很顯然那個for循環就是性能的主要浪費者,就這5個<li>標簽還好,倘若有成千上百個呢?使用時間委托就不用考慮這些了:

oul.οnmοuseοver=function(ev){var ev=ev||window.event; //ev.target代表事件源,事件發生在誰身上誰就是事件源,ev.srcElement是兼容IEvar target=ev.target||ev.srcElement;<span style="white-space:pre"> </span>//if(target.is("li")) //判斷是否為li標簽if(target.nodeName.toLowerCase()=='li')//判斷事件源是否為<li>,目的是為排除<ul>,防止鼠標經過“大的”<ul>時發生變色。{target.style.background='red';}}oul.οnmοuseοut=function(ev){var ev=ev||window.event;var target=ev.target||ev.srcElement;if(target.nodeName.toLowerCase()=='li'){target.style.background='';}}
這樣就不用使用for循環遍歷了。


第二個優點:新添加的元素還會有原來之前的事件。也就是說用for循環的方法只能對現有的標簽實現效果,對于后來新添加的標簽就不能為例了,而用時間委托,只要符合之前設定的標簽,那么新添加的標簽生來就有之前定義的事件效果。下面在網頁中添加一按鈕,點擊按鈕添加一些新的<li>標簽:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testcss</title> <style></style> <script type="text/javascript"> window.οnlοad=function(){var oul=document.getElementsByTagName('ul')[0];var oli=oul.getElementsByTagName('li');var oinput=document.getElementById('input1');oinput.οnclick=function(){ //點擊按鈕插入新<li>標簽var oli=document.createElement('li');oli.innerHTML='我是新標簽'; //注意:此句代碼應寫在appendChild()前面,能節省性能oul.appendChild(oli);};oul.οnmοuseοver=function(ev){var ev=ev||window.event;//ev.target代表事件源,事件發生在誰身上誰就是事件源,ev.srcElement是兼容IEvar target=ev.target||ev.srcElement;if(target.nodeName.toLowerCase()=='li'){target.style.background='red';}}oul.οnmοuseοut=function(ev){var ev=ev||window.event;var target=ev.target||ev.srcElement;if(target.nodeName.toLowerCase()=='li'){target.style.background='';}}} </script> </head> <body><input type='button' value='添加' id='input1'/><ul><li>11</li><li>22</li><li>33</li><li>44</li><li>55</li></ul> </body> </html>以上代碼運行效果如下圖所示,新插入的標簽依然與生俱來之前的事件:














轉載于:https://www.cnblogs.com/chayangge/p/4288692.html

總結

以上是生活随笔為你收集整理的让人省心的事件委托的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区两区 | 九九热国产视频 | 国产suv精品一区二区60 | 日韩一级淫片 | 午夜骚影| 日韩精品无码一区二区三区久久久 | 国产色播 | 潘金莲一级淫片a.aaaaa播放 | 欧美又大又硬又粗bbbbb | 麻豆久久久9性大片 | 欧美专区在线观看 | 免费看av的网址 | 国产精品探花一区二区三区 | 国外成人性视频免费 | av网页在线观看 | 久久成人黄色 | 91视频色版 | 国产精品三区四区 | 黄色的毛片 | 噜噜噜在线视频 | 欧美日在线观看 | 日韩在线视频观看免费 | 天堂网在线最新版www中文网 | 国产香蕉一区二区三区 | 中文字幕在线亚洲 | 在线看91| 巨物撞击尤物少妇呻吟 | fee性满足he牲bbw| 国产又粗又猛又爽69xx | 三级做爰在线观看视频 | 裸体美女免费视频网站 | 国产黄a三级 | 成人动漫在线观看视频 | 校园春色在线观看 | 色校园| 免费手机av | 日韩一级影片 | 九九热视频免费观看 | 日韩不卡高清 | 黑人一区二区三区 | 激情久久婷婷 | 91精品国产综合久久香蕉922 | 人人舔人人爽 | 中国老头性行为xxxx | 91精品视频观看 | 精品欧美激情精品一区 | 亚洲高清一区二区三区 | 激情专区| 免费毛片观看 | 一区二区三区小视频 | 性感美女一区 | 青青草十七色 | av综合在线观看 | 久久深夜| 这里只有精品久久 | 日本熟妇人妻中出 | www.四虎精品 | 91不卡在线| 亚洲人视频在线 | 一本色道久久hezyo加勒比 | 久久中文字幕精品 | 亚洲日本精品视频 | 蜜桃av噜噜一区二区三区小说 | 91久久精品夜夜躁日日躁欧美 | 午夜精品一区二 | 亚洲免费视频观看 | 激情综合五月婷婷 | 亚洲手机视频 | 成人高潮片免费网站 | 天堂8在线天堂资源bt | 欧美国产片 | 欧美午夜精品久久久久久蜜 | 美女脱了裤子让男人捅 | 中国a毛片 | 国产顶级毛片 | 久久精品无码人妻 | 久久久久不卡 | 嫩模被强到高潮呻吟不断 | 中文字幕人妻熟女在线 | 午夜aaa片一区二区专区 | 韩国三色电费2024免费吗怎么看 | 十大污网站 | 国产区小视频 | 伊人资源 | 日本不卡免费在线 | 男女偷爱性视频刺激 | 无码免费一区二区三区 | 一级黄色片网站 | 蜜桃视频黄色 | 国产免费99 | 亚洲精品视频导航 | 国产尻逼视频 | 亚洲综合一区在线观看 | 色哟哟在线播放 | jizz免费在线观看 | 亚洲成人基地 | 国产女人18毛片 | 丁香五色月 | 亚洲激情在线观看视频 |