日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)編程開(kāi)發(fā)javascript|JQuery → JavaScript Event學(xué)習(xí)第三章:早期的事件處理程序

      JavaScript Event學(xué)習(xí)第三章:早期的事件處理程序

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站原創(chuàng)時(shí)間:2010/2/6 0:19:09字體大小:A-A+

      作者:北玉點(diǎn)擊:561次評(píng)論:0次標(biāo)簽: Event

      • 類(lèi)型:加殼脫殼大。126KB語(yǔ)言:中文 評(píng)分:3.5
      • 標(biāo)簽:
      立即下載

      被第二代瀏覽器所支持。

      這些古老的瀏覽器只支持一種注冊(cè)事件處理程序的方法,這個(gè)方法是Netscape發(fā)

      明的。因?yàn)镹etscape先發(fā)制人,所以如果微軟也想做支持JavaScript事件的瀏覽

      器就得跟著Netscape走,所以這里沒(méi)有兼容性的問(wèn)題。所以這種模式在任何支持

      JavaScript的瀏覽器都能運(yùn)行---除了Mac上的IE3,他根本就不支持事件。

      注冊(cè)事件處理程序
      在內(nèi)聯(lián)式的事件注冊(cè)模型中,事件處理程序就像是一個(gè)HTML元素的屬性,比如:

      1 <A HREF="somewhere.html" onClick="alert('I\'ve been clicked!')">

      當(dāng)這個(gè)鏈接上發(fā)生單擊事件的時(shí)候,事件處理程序就被觸發(fā)然后執(zhí)行你的腳本:

      一個(gè)警告對(duì)話(huà)框彈出。你也可以觸發(fā)一個(gè)JavaScript函數(shù):
      1 <A HREF="somewhere.html" onClick="doSomething()">

      上面兩個(gè)例子里面事件的名字的大小寫(xiě)只是一個(gè)習(xí)慣問(wèn)題,HTML是大小寫(xiě)不敏感

      的,所以你想怎么寫(xiě)都可以。XHTML要求所有的屬性名稱(chēng)必須都是小寫(xiě),所以如果

      你使用的XHTML那么名字就要寫(xiě)成onclick。

      不要用他
      雖然這種內(nèi)聯(lián)型的注冊(cè)模型很古老也很可靠,但是他有一個(gè)不足。他要求你在

      XHTML結(jié)構(gòu)層里面寫(xiě)上本不屬于這里的JavaScript代碼。

      所以我強(qiáng)烈建議你不要使用這種方法。在這里我有詳細(xì)的解釋。

      理解這些舊的模型對(duì)于JavaScript事件處理的全局感有很大幫助,但是你最好還

      是使用我后面說(shuō)明的現(xiàn)代模式。

      默認(rèn)動(dòng)作
      當(dāng)年Netscape設(shè)置了默認(rèn)動(dòng)作也有怎樣防止默認(rèn)動(dòng)作運(yùn)行。他的模式拯救了瀏覽

      器大戰(zhàn)和標(biāo)準(zhǔn)的制定,而且到如今都很好的運(yùn)行著。

      眾所周知,當(dāng)用戶(hù)點(diǎn)擊了一個(gè)鏈接瀏覽器就會(huì)按照href的屬性加載頁(yè)面。這是鏈

      接上的默認(rèn)動(dòng)作。但是當(dāng)你定義了一個(gè)onclick事件處理程序了以后會(huì)發(fā)生什么呢

      ?應(yīng)該能被執(zhí)行,但是什么時(shí)候呢?

      1 <A HREF="somewhere.html" onClick="doSomething()">

      如果在這個(gè)鏈接上單擊,那么事件處理程序一定會(huì)被首先執(zhí)行。畢竟當(dāng)默認(rèn)動(dòng)作

      發(fā)生--新頁(yè)面加載--舊的頁(yè)面包括事件處理程序本身都會(huì)從內(nèi)存中清除。如果

      onclick的事件處理程序執(zhí)行了,那么一定是在默認(rèn)動(dòng)作之前。

      這就有了一個(gè)非常重要的原理。如果一個(gè)事件同時(shí)觸發(fā)了默認(rèn)動(dòng)作和事件處理程

      序,那么:
      1、事件處理程序會(huì)首先執(zhí)行
      2、默認(rèn)動(dòng)作隨后執(zhí)行
      所以在上面的例子中,doSomething()會(huì)首先執(zhí)行,然后瀏覽器會(huì)打開(kāi)鏈接。

      阻止默認(rèn)事件
      當(dāng)這些都確定之后,大家大多開(kāi)始考慮如何阻止默認(rèn)事件。在我們的例子中就可

      以阻止瀏覽器打開(kāi)新的頁(yè)面。

      所以事件處理程序可以返回一個(gè)布爾值(ture或者false),false的含義就是“

      不要進(jìn)行默認(rèn)動(dòng)作”。這樣我們就可以把例子改成:

      1 <A HREF="somewhere.html" onClick="doSomething(); return false">

      這個(gè)鏈接就不會(huì)跟著執(zhí)行了。這個(gè)函數(shù)執(zhí)行之后程序返回false,告訴瀏覽器不要

      執(zhí)行默認(rèn)動(dòng)作。

      有時(shí)候有必要讓函數(shù)決定什么時(shí)候該執(zhí)行什么時(shí)候不該執(zhí)行默認(rèn)動(dòng)作。所以我們

      可以把例子改成:
      1 <A HREF="somewhere.html" onClick="return doSomething()"> 

      2   

      3 function doSomething() 

      4 { 

      5     return confirm('Do you really want to follow this link?') 

      6 }

      這就是(非常簡(jiǎn)單的)用戶(hù)交互。用戶(hù)會(huì)被問(wèn)一個(gè)問(wèn)題,如果回答是肯定的那么

      函數(shù)返回true,如果取消了那么久返回一個(gè)false。這個(gè)返回值會(huì)被事件處理程序

      捕獲,然后轉(zhuǎn)給事件本身。如果是flase那么默認(rèn)動(dòng)作就不會(huì)被執(zhí)行--鏈接不會(huì)進(jìn)

      入。

      然而,不是所有的默認(rèn)動(dòng)作都能被阻止。比如unload事件就不行。假設(shè)用戶(hù)關(guān)閉

      瀏覽器窗口--觸發(fā)了unload事件。如果你能阻止關(guān)閉窗口,那么窗口會(huì)違背用戶(hù)

      的意愿而一直打開(kāi)著么?當(dāng)然不會(huì)。

      你可以試試微軟的beforeunload屬性來(lái)阻止unload。與其制造一個(gè)非常混亂的情

      況讓用戶(hù)來(lái)選擇確認(rèn)這個(gè)行為。那不如不用。

      返回false來(lái)阻止默認(rèn)動(dòng)作是所有瀏覽器都支持的這是事件處理程序的基本組成。

      如今的事件處理程序模型還添加了一些新的方法來(lái)阻止默認(rèn)動(dòng)作:
      W3C給事件添加了preventDefalut()方法。如果你引用了這個(gè)方法那么默認(rèn)動(dòng)作就

      會(huì)被阻止。
      微軟給事件添加了returnValue屬性。如果你設(shè)置他的值為false那么默認(rèn)動(dòng)作也

      會(huì)被阻止。
      但是用不著這些個(gè),簡(jiǎn)單的返回false就夠了。

       

      window.status
      這里對(duì)于返回false有一個(gè)例外。當(dāng)你設(shè)置鼠標(biāo)經(jīng)過(guò)鏈接的時(shí)候改變窗口的狀態(tài)欄

      以后,你還想阻止默認(rèn)動(dòng)作--在狀態(tài)欄顯示鏈接地址--的時(shí)候,你就應(yīng)該返回

      true:


      1 <A HREF="somewhere.html"

      2     onMouseOver="window.status = 'This link goes somewhere'; return true">

      如果你不這樣做,那么代碼就不會(huì)工作。沒(méi)人知道那是怎么回事,就是一個(gè)比較

      怪異的事情。

      this
      在JavaScript里this關(guān)鍵字通常指函數(shù)的所有者。如果this指向事件發(fā)生的HTML

      元素,那么一切都是那么的美好,你可以很簡(jiǎn)單的做很多事情。

      不幸的是,雖然this非常的強(qiáng)大,但是如果你不是明確的知道他怎么運(yùn)作的話(huà)使

      用起來(lái)還是比較難的。關(guān)于這個(gè)我在另一個(gè)地方有詳細(xì)的討論,在這我在內(nèi)聯(lián)模

      式下做一些概述。

      在內(nèi)聯(lián)模式下你可以將this作為一個(gè)事件處理程序函數(shù)的一個(gè)參數(shù)。所以你可以:
      1 <A HREF="somewhere.html" onClick="doSomething(this)"> 

      2   

      3 function doSomething(obj) 

      4 { 

      5     // obj now refers to the link 

      6 }

      你給函數(shù)傳遞了一個(gè)引用,存儲(chǔ)在obj里面。現(xiàn)在你不需要在遍歷文檔尋找是哪個(gè)

      元素被點(diǎn)擊了:他很安全的存儲(chǔ)在變量obj里面,F(xiàn)在你就可以:
      1 <A HREF="somewhere.html" onClick="return doSomething(this)"> 

      2 <A HREF="somewhereElse.html" onClick="return doSomething(this)"> 

      3   

      4 function doSomething(obj) 

      5 { 

      6     var linkTo = obj.href; 

      7     return confirm('Do you really want to follow the link to ' +

      linkTo + '?') 

      8 }

      函數(shù)接受到一個(gè)鏈接的引用存儲(chǔ)在obj里面,F(xiàn)在你可以讀取這個(gè)鏈接的鏈接地址

      然后進(jìn)行確認(rèn)。你可以把這個(gè)技巧運(yùn)用在任何一個(gè)鏈接上:他總是會(huì)顯示你剛才

      點(diǎn)擊的那個(gè)鏈接的真實(shí)地址。

        易語(yǔ)言
        (22)易語(yǔ)言
        易語(yǔ)言開(kāi)發(fā)的軟件雖然經(jīng)常會(huì)被一些安全軟件誤報(bào)為病毒,但是易語(yǔ)言確實(shí)是一門(mén)可學(xué)很好的編程語(yǔ)言,因?yàn)槭侨形娜梢暱缙脚_(tái)編程語(yǔ)言,全中文支持,無(wú)需跨越英語(yǔ)門(mén)檻。全可視化編程,支持所見(jiàn)即所得程序界面設(shè)計(jì)和程序流程編碼。因此易語(yǔ)言也可以理解為簡(jiǎn)易的語(yǔ)言,跟語(yǔ)言語(yǔ)言等以英文為基礎(chǔ)的國(guó)外語(yǔ)言開(kāi)發(fā)平臺(tái),易語(yǔ)言學(xué)習(xí)起來(lái)更簡(jiǎn)單了。西西本次提供了易語(yǔ)言.完美破解版,十天學(xué)會(huì)易語(yǔ)言圖解教程教程易語(yǔ)言零起點(diǎn)教程易語(yǔ)言個(gè)皮膚...更多>>

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱(chēng):
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)