首頁  >  文章  >  web前端  >  js活用事件触发对象动作_javascript技巧

js活用事件触发对象动作_javascript技巧

WBOY
WBOY原創
2016-05-16 19:01:48860瀏覽

从学习W3C标准以来,对于代码我好像养成了一种怪癖,能统一复用的,就不会多写一点东西,这样前台页面代码看起来会清爽很多,而效率也会成直线上升.

复制代码 代码如下:

<script> <BR><!-- <BR>//定义鼠标触发事件的范围 <BR>function findOutDiv(thisEvent){ <BR>//利用循环查找符合CSS样式名字的对象 <BR> while(thisEvent.className != "piccell"){ <BR>//如果这个对象的标签名字是HTML就停止,然后让事件对象不存在,用做后面的判断 <BR> if(thisEvent.tagName == "HTML"){ <BR> thisEvent = false; <BR> break; <BR> }else{ <BR>//否则继续下个对象,即他的父对象 <BR> thisEvent = thisEvent.parentNode <BR> } <BR> } <BR>//返回事件对象,如果事件对象不存在返回假 <BR> return thisEvent; <BR>} <BR>//利用鼠标在对象移动属性作为时间触发行为 <BR>document.onmouseover = function(e){ <BR>//这个e是FireFox捕捉事件触发对象的方法 <BR> if(!e)e = window.event; <BR>//定义Event给于鼠标触发对象的实体,即符合标准并可以控制的对象 <BR>//target为FF专用,srcElement为IE专用 <BR> var Event = e.target?e.target:e.srcElement <BR>//定义可控制的对象,调用鼠标触发事件范围所返回的对象 <BR> var thisEvent = findOutDiv(Event) <BR>//如果对象存在就继续 <BR> if(thisEvent){ <BR>//给对象定义CSS样式 <BR> thisEvent.style.border = "2px solid #7A99D2"; <BR> thisEvent.style.background = "#D2E4FC"; <BR> } <BR>} <BR>//同上,利用鼠标在对象移出作为时间触发行为 <BR>document.onmouseout = function(e){ <BR> if(!e)e = window.event; <BR> var Event = e.target?e.target:e.srcElement <BR> var thisEvent = findOutDiv(Event) <BR> if(thisEvent){ <BR> thisEvent.style.border = "2px solid #CCC"; <BR> thisEvent.style.background = "#FFF"; <BR> } <BR>} <BR>// --> <BR></script>

这样写的好处显而易见,可以不用在每个对象中写触发动作的行为,极大的节省了代码,并且JS更有可读性.
过段时间等我把个性化页面整理完成后发布出来,让大家看看利用事件触发对象动作的好处.
GOOGLE,和微软的LIVE他的个性化页面写的很不错,所以大家都可以学习一下他们的代码,这样对你将来的AJAX应用会有非常大的帮助. 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn