天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

講兩件事:1.this指針的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件處理上的區(qū)別

第一件事情.
this 指鐘是JavaScript語言中的一個(gè)特殊指鐘,他在代碼運(yùn)行時(shí),指向調(diào)用this語句的當(dāng)前對象.
如果是事件綁定函數(shù),則指向被綁定的元素本身.
<script type="text/Javascript">
//by Go_Rush(阿舜) from  http://ashun.cnblogs.com/
alert(this===window)  //true  直
接調(diào)用的時(shí)候,指向window本身
var gorush={
    f:function(){
        alert(this===gorush)    //true
    }
}
gorush.f()   //指向 gorush對象
document.onclick=function(){   
    alert(this===document)  //true ,指向 document
}
/*
element.onclick=function(){
    alert(this===element)     //true
}
*/
</script>
特別要值得注意的是,當(dāng)多個(gè)對象嵌套的時(shí)候, this 是指向最近調(diào)用它的那個(gè)對象的
obj1={
    obj2:{
        f:function(){
            alert(this===obj1.obj2)  //這里 this 并不是指向 obj1的哦。
        }
    }
}
obj1.obj2.f()
再舉一個(gè)非常容易出錯(cuò)的例子,  點(diǎn)這里看相關(guān)鏈接
<script type="text/Javascript">
//by Go_Rush from http://ashun.cnblogs.com/
//以下gorush1中 this的用法是錯(cuò)誤的,這個(gè)錯(cuò)誤10個(gè)程序員6個(gè)犯
var gorush1={
    showMsg:function(){alert("hello,world")},
    doAjax:function(){
        new Ajax.Request("index.php",{onSuccess:function(){
            this.showMsg()
        }})
    }         
}
//gorush2中的才是對的
var gorush2={
    showMsg:function(){alert("hello,world")},
    doAjax:function(){
        var self=this;    //備份 gorush2對象 
        new Ajax.Request("index.php",{onSuccess:function(){
            self.showMsg()
        }})
    }         
}
</script>

第二件事情:
   閑話不多說,先上碟小菜.
<script type="text/Javascript">
var btn=null
window.onload=function(){
    btn=document.getElementById("btn")    
    if (window.attachEvent) btn.attachEvent("onclick",gorush);
    if (window.addEventListener) btn.addEventListener("click",gorush,false)
}
function gorush(){
    if (this===window) alert("this==window")   //ie6.0下,這句會(huì)執(zhí)行
    if (this===btn)        alert("this==btn")        //ff1.5下,  這句會(huì)執(zhí)行
}
</script>
<input type="button" value="click me" id="btn">
真不明白為什么 ie 會(huì)這樣搞,讓人很郁悶啊,為什么把 this 指向 window呢?
解決方法:
1. 事件綁定的時(shí)候不要用 attachEvent, 可憐的我,當(dāng)時(shí)就是用的prototype.js的Event.Observe方法
這樣 element.onclick=function.....  這樣在兩個(gè)瀏覽器中 this 指鐘都指向 element
2. 在處理函數(shù) gorush中 用 getEvent()方法統(tǒng)一獲取事件,然后在用 evt.srcElement || evt.target 獲取 element對象

JavaScript技術(shù)講兩件事:1.this指針的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件處理上的區(qū)別,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产又黄又粗又爽又色的视频软件 | 欧美97色伦综合网 | 三级在线观看网站 | 国产精片久久久久久婷婷 | 中文字幕人成人乱码亚洲影视 | 神马影院午夜理论二 | 伊人22222| 成年人视频在线免费播放 | 国产无遮挡无码视频在线观看不卡 | 黄桃AV无码免费一区二区三区 | 国产中文字幕一区 | 色综合色综合久久综合频道 | 色综合五月激情综合色一区 | 麻豆人妻无码性色AV | 菠萝视频高清版在线观看 | 日本无码免费久久久精品 | 日本片bbbxxx | 亚洲 欧美 国产 视频二区 | 在线电影一区二区 | 午夜国产一区在线观看 | 久久99热成人精品国产 | 蜜芽亚洲欧美一区二区电影 | 国产亚洲精品线视频在线 | 大肥婆丰满大肥奶bbw肥 | 2022国产精品不卡a | 老师小扫货水能么多叫出来 | 天天爽夜夜爽 | 狠狠躁日日躁人人爽 | 两性午夜刺激爽爽视频 | 蜜臀久久99精品久久久久久做爰 | 丰满的美女射精动态图 | 日韩成人黄色 | 色久天 | 区产品乱码芒果精品P站在线 | 国语自产偷成人精品视频 | 在线观看插女生免费版 | 欧美在线激情 | 秋霞特色大片18岁入口 | 亚洲 色 欧美 爱 视频 日韩 | 俄罗斯videosbest8 | 98久久无码一区人妻A片蜜 |