国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js活用事件觸發對象動作

2024-05-06 14:17:29
字體:
來源:轉載
供稿:網友
從學習W3C標準以來,對于代碼我好像養成了一種怪癖,能統一復用的,就不會多寫一點東西,這樣前臺頁面代碼看起來會清爽很多,而效率也會成直線上升.
代碼如下:
<script type="text/javascript">
<!--
//定義鼠標觸發事件的范圍
function findOutDiv(thisEvent){
//利用循環查找符合CSS樣式名字的對象
    while(thisEvent.className != "piccell"){
//如果這個對象的標簽名字是HTML就停止,然后讓事件對象不存在,用做后面的判斷
        if(thisEvent.tagName == "HTML"){
            thisEvent = false;
            break;
        }else{
//否則繼續下個對象,即他的父對象
            thisEvent = thisEvent.parentNode
        }
    }
//返回事件對象,如果事件對象不存在返回假
    return thisEvent;
}
//利用鼠標在對象移動屬性作為時間觸發行為
document.onmouseover = function(e){
//這個e是FireFox捕捉事件觸發對象的方法
    if(!e)e = window.event;
//定義Event給于鼠標觸發對象的實體,即符合標準并可以控制的對象
//target為FF專用,srcElement為IE專用
    var Event = e.target?e.target:e.srcElement
//定義可控制的對象,調用鼠標觸發事件范圍所返回的對象
    var thisEvent = findOutDiv(Event)
//如果對象存在就繼續
    if(thisEvent){
//給對象定義CSS樣式
        thisEvent.style.border = "2px solid #7A99D2";
        thisEvent.style.background = "#D2E4FC";
    }
}
//同上,利用鼠標在對象移出作為時間觸發行為
document.onmouseout = function(e){
    if(!e)e = window.event;
    var Event = e.target?e.target:e.srcElement
    var thisEvent = findOutDiv(Event)
    if(thisEvent){
        thisEvent.style.border = "2px solid #CCC";
        thisEvent.style.background = "#FFF";
    }
}
// -->
</script>

這樣寫的好處顯而易見,可以不用在每個對象中寫觸發動作的行為,極大的節省了代碼,并且JS更有可讀性.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阿坝县| 广东省| 德格县| 巧家县| 安阳县| 高阳县| 珲春市| 垣曲县| 广西| 新营市| 玉屏| 新乡市| 汪清县| 石渠县| 双鸭山市| 镇宁| 嘉善县| 蓬安县| 太原市| 大足县| 伊宁县| 介休市| 建昌县| 泰安市| 曲靖市| 合水县| 延边| 托里县| 民勤县| 楚雄市| 沐川县| 淮安市| 桦川县| 芜湖县| 荔波县| 马鞍山市| 腾冲县| 弥勒县| 宜兰县| 新巴尔虎右旗| 砀山县|