译文:JavaScript框架比较–事件处理(五)
事件处理
每个JavaScript框架都实现跨浏览器的事件处理,鼓励你摆脱旧式的内联附加事件而使用精简的线性方法。看看清单6的jQuery例子,使用hover事件高亮显示div元素。 清单6:使用jQuery附加hover事件 $('#the-box').hover(function() { $(this).addClass('highlight'); }, function() { $(this).removeClass('highlight'); }); 清单7:使用jQuery附加click事件 $('#the-button').click(function() { alert('You pushed the button!'); }); 清单8:使用Prototype附加click事件 $('the-button').observe('click', function(e) { alert('You pushed the button!'); }); 清单9:使用Prototype附加悬停事件 $('the-box').observe('mouseover', function(e) { var el = Event.element(e); el.addClassName('highlight'); }); $('the-box').observe('mouseout', function(e) { var el = Event.element(e); el.removeClassName('highlight'); }); 通过该文章的一些教程,你可以看到函数以内联的方式创建,并不命名。这意味着它不能重复使用,Prototype的悬停示例也给了我们一个如何使用命名函数的机会。清单10说明了这个方法。 清单10:使用Prototype改进悬停事件 function toggleClass(e) { var el = Event.element(e); if(el.hasClassName('highlight')) row.removeClassName('highlight'); else row.addClassName('highlight'); } $('the-box').observe('mouseover', toggleClass); $('the-box').observe('mouseout', toggleClass); 转载地址:http://www.denisdeng.com/?p=720 原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html (编辑:保山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 高通公司总裁安蒙:5G+AI开启智能互联未来
- 200个上榜!2020年大数据产业发展试点示范项目名单公布
- 骁龙865+5G双模 中兴官宣:天机Axon 10s Pro将于明年年初上
- TradingView分析师:PlusToken骗子可能推动BTC等加密货币市
- 谷歌:18个月后将自动删除用户位置记录 “隐身功能”轻松开
- 科创板|长阳科技明日上市 前三季营收和净利同比大幅上涨
- 乐视网:拟将2019年度审计机构变更为大华会计师事务所
- 亚马逊拟设至少1亿美元股票奖励 留住自动驾驶创企Zoox关键员
- 莱特币基金会成员:区块奖励在BTC目前价格减半 矿工或将难以
- 特斯拉Model 3已成欧洲最畅销电动汽车 8月份交付超过7000辆