最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2007年04月12日 00:00:00   作者:  
第一件事情.
this 指鐘是JavaScript語言中的一個特殊指鐘,他在代碼運行時,指向調(diào)用this語句的當(dāng)前對象.
如果是事件綁定函數(shù),則指向被綁定的元素本身.
<script type="text/javascript">
//by Go_Rush(阿舜) from  http://ashun.cnblogs.com/
alert(this===window)  //true  直
接調(diào)用的時候,指向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)多個對象嵌套的時候, this 是指向最近調(diào)用它的那個對象的
obj1={
    obj2:{
        f:function(){
            alert(this===obj1.obj2)  //這里 this 并不是指向 obj1的哦。
        }
    }
}
obj1.obj2.f()
再舉一個非常容易出錯的例子,  點這里看相關(guān)鏈接
<script type="text/javascript">
//by Go_Rush from http://ashun.cnblogs.com/
//以下gorush1中 this的用法是錯誤的,這個錯誤10個程序員6個犯
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下,這句會執(zhí)行
    if (this===btn)        alert("this==btn")        //ff1.5下,  這句會執(zhí)行
}
</script>
<input type="button" value="click me" id="btn">
真不明白為什么 ie 會這樣搞,讓人很郁悶啊,為什么把 this 指向 window呢?
解決方法:
1. 事件綁定的時候不要用 attachEvent, 可憐的我,當(dāng)時就是用的prototype.js的Event.Observe方法
這樣 element.onclick=function.....  這樣在兩個瀏覽器中 this 指鐘都指向 element
2. 在處理函數(shù) gorush中 用 getEvent()方法統(tǒng)一獲取事件,然后在用 evt.srcElement || evt.target 獲取 element對象

相關(guān)文章

  • php+js實現(xiàn)倒計時功能

    php+js實現(xiàn)倒計時功能

    由PHP傳入JS處理的時間戳我說怎么老是對不上號呢,原來JS時間戳為13位,包含3位毫秒的,而PHP只有10位不包含毫秒的。恩,基礎(chǔ)還是要補補的
    2014-06-06
  • 通過一篇文章由淺入深的理解JSONP并拓展

    通過一篇文章由淺入深的理解JSONP并拓展

    這篇文章主要給大家介紹了關(guān)于理解JSONP并拓展的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • JS的replace方法介紹

    JS的replace方法介紹

    replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個匹配都調(diào)用該函數(shù),它返回的字符串將作為替換文本使用
    2012-10-10
  • 用Javascript實現(xiàn)Sleep暫停功能代碼

    用Javascript實現(xiàn)Sleep暫停功能代碼

    ie和firefox都可以使用,有興趣可以試試
    2010-09-09
  • Javascript中判斷變量是數(shù)組還是對象(array還是object)

    Javascript中判斷變量是數(shù)組還是對象(array還是object)

    怎樣判斷一個JavaScript變量是array還是obiect,或許有很多初學(xué)者對此不是很清楚吧,下面為大家詳細(xì)解答下,希望對大家有所幫助
    2013-08-08
  • javascript setTimeout和setInterval計時的區(qū)別詳解

    javascript setTimeout和setInterval計時的區(qū)別詳解

    window對象有兩個主要的定時方法,分別是setTimeout 和 setInteval 他們的語法基本上相同,但是完成的功能取有區(qū)別。
    2013-06-06
  • 在多個頁面使用同一個HTML片段的代碼

    在多個頁面使用同一個HTML片段的代碼

    有一個比較復(fù)雜的HTML片段(A),如果把這個HTML片段嵌入到其他頁面中(B,C,D....)。 問題的關(guān)鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說分頁,點擊事件響應(yīng)等。
    2011-03-03
  • 原生JS實現(xiàn)網(wǎng)絡(luò)彩票投注效果

    原生JS實現(xiàn)網(wǎng)絡(luò)彩票投注效果

    分享一個最近模仿市面彩票系統(tǒng)寫個小案例,沒有使用任何后臺,從投注到開獎再到返獎都是用原生JS實現(xiàn)的。
    2016-09-09
  • TypeScript中Class類的基本使用方法

    TypeScript中Class類的基本使用方法

    在TypeScript中,我們可以使用Class來定義類,這使得我們能夠更加結(jié)構(gòu)化地組織代碼并使用面向?qū)ο蟮乃枷脒M行開發(fā),本文小編將給大家詳細(xì)的總結(jié)一下TypeScript中Class類的基本語法,需要的朋友可以參考下
    2023-09-09
  • javascript實現(xiàn)前端分頁功能

    javascript實現(xiàn)前端分頁功能

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)前端分頁功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11

最新評論

宁乡县| 益阳市| 潜山县| 河池市| 长宁县| 贵定县| 兴隆县| 新巴尔虎右旗| 中山市| 沂源县| 宁德市| 忻州市| 九台市| 丰镇市| 堆龙德庆县| 舟山市| 长岭县| 临汾市| 边坝县| 旌德县| 肃北| 沙坪坝区| 普格县| 沈阳市| 昌宁县| 石楼县| 渝北区| 星座| 六盘水市| 罗山县| 关岭| 睢宁县| 江安县| 大洼县| 枣阳市| 奇台县| 鄂托克旗| 南阳市| 乡城县| 秀山| 鞍山市|