JavaScript通過(guò)事件代理高亮顯示表格行的方法
更新時(shí)間:2015年05月27日 17:18:24 作者:不吃皮蛋
這篇文章主要介紹了JavaScript通過(guò)事件代理高亮顯示表格行的方法,涉及javascript事件代理及頁(yè)面元素的操作技巧,需要的朋友可以參考下
本文實(shí)例講述了JavaScript通過(guò)事件代理高亮顯示表格行的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Highlight Rows</title> <style type="text/css"> table { background-color: lightgreen; } #third { background-color: yellow; } </style> </head> <body> <!-- Demonstrating "Event Delegation" to highlight table' rows on mouseover. Arguments can be passed via the delegate. My site:andrew.dx.am --> <table id="thetable" summary="highlight demo"> <tr><td>Just one</td><td>.. no another</td></tr> <tr><td>Second</td><td>.. no another</td></tr> <tr id="third"><td>A third</td><td>.. no another</td></tr> <tr><td>Fourth for luck</td><td>.. no another</td></tr> </table> <script type="text/javascript"> var addEvent = function (elem, eventType, func) { if ( elem.addEventListener ) addEvent = function (elem, eventType, func) { elem.addEventListener(eventType, func, false); }; else if ( elem.attachEvent ) addEvent = function (elem, eventType, func) { elem.attachEvent('on' + eventType, func); }; addEvent(elem, eventType, func); }; var delegateEvent = function (elem, childElems, eventType, func, args) { addEvent(elem, eventType, function (e) { var evt = e || window.event; var elem = evt.target || evt.srcElement; if ( elem.nodeName.toLowerCase() == childElems.toLowerCase() ) { func(elem, args); } }); }; function highlightRows(obj, args) { if (args && args.over) { obj.prevColour = obj.parentNode.style.backgroundColor; obj.parentNode.style.backgroundColor = args.colour; if (args.index && obj.title == "") obj.title = "Row " + obj.parentNode.rowIndex; } else { obj.parentNode.style.backgroundColor = ""; if (obj.title.indexOf("Row ") + 1) obj.title = ""; } } function init() { delegateEvent(document.getElementById('thetable'), 'td', 'mouseover', highlightRows, {'colour': 'lightblue', 'over': true, 'index': true}); delegateEvent(document.getElementById('thetable'), 'td', 'mouseout', highlightRows, {'over': false}); } addEvent(window, 'load', init); </script> </body> </html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- JavaScript中的事件處理程序
- JS事件流與事件處理程序?qū)嵗治?/a>
- JavaScript常見(jiàn)事件處理程序?qū)嵗偨Y(jié)
- JavaScript事件處理程序詳解
- 深入理解在JS中通過(guò)四種設(shè)置事件處理程序的方法
- JavaScript的事件代理和委托實(shí)例分析
- js中的事件委托或是事件代理使用詳解
- JavaScript事件代理和委托詳解
- js事件委托和事件代理案例分享
- JS實(shí)現(xiàn)為動(dòng)態(tài)添加的元素增加事件功能示例【基于事件委托】
- javascript事件委托的方式綁定詳解
- JS事件處理機(jī)制及事件代理(事件委托)實(shí)例詳解
相關(guān)文章
微信小程序?qū)崿F(xiàn)的點(diǎn)擊按鈕 彈出底部上拉菜單功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的點(diǎn)擊按鈕 彈出底部上拉菜單功能,結(jié)合實(shí)例形式分析了action-sheet組件及事件響應(yīng)簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-12-12js與jquery獲取input輸入框中的值實(shí)例講解
在本篇文章里小編給大家整理了關(guān)于js與jquery獲取input輸入框中的值實(shí)例講解,需要的朋友們可以學(xué)習(xí)參考下。2020-02-02Javascript結(jié)合css實(shí)現(xiàn)網(wǎng)頁(yè)換膚功能
現(xiàn)在網(wǎng)站換皮膚是比較常見(jiàn)的功能,大多數(shù)論壇都有的,要想實(shí)現(xiàn)這樣效果可以看如下代碼.2009-11-11js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02