中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > 致有追求的Coder和可愛的部門同事
理解JavaScript中的事件 回到列表 Adobe前端開發(fā)——結(jié)構(gòu)層概況
 致有追求的Coder和可愛的部門同事

作者:hgx127 時間: 2008-03-18 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 致有追求的Coder和可愛的部門同事 [1]
第 2 頁 致有追求的Coder和可愛的部門同事 [2]
第 3 頁 致有追求的Coder和可愛的部門同事 [3]
第 4 頁 致有追求的Coder和可愛的部門同事 [4]

以點(diǎn)帶面

不要奢望工作中還有讓你靜下心來天天學(xué)習(xí)的環(huán)境,要做的是:天天撿珠子撿貝殼,合適的時機(jī),把它們用線穿起來做成一條精美的項(xiàng)鏈。

珠子是什么樣的珠子?首先你要識別,別說菜到連自己需要什么都不知道。

線是什么樣的線?可能是自己的實(shí)踐、可能是一本書、也可能是一個項(xiàng)目。

比如:網(wǎng)站重構(gòu)

在06年年初做兼職時接觸到網(wǎng)站重構(gòu)的概念,我看到它的優(yōu)點(diǎn)(當(dāng)然是有基礎(chǔ)的,在大學(xué),由于經(jīng)濟(jì)原因做過很多開發(fā)網(wǎng)站的兼職工作),開始有意識的在實(shí)際工作中留意相關(guān)知識并研究它們。在實(shí)踐中不斷的檢驗(yàn)應(yīng)用自己的成果,讓自己不斷獲得鼓勵與信心。經(jīng)過一年相關(guān)知識的學(xué)習(xí)和實(shí)踐,我的重構(gòu)相關(guān)技術(shù)已經(jīng)相當(dāng)純熟。

再如:深入研究Javascript

當(dāng)用JS寫的程序越來越像大程序的時候,我們應(yīng)該能夠看到它的未來:根據(jù)我的判斷,它將是未來富媒體應(yīng)用的一個重要組成,整體架構(gòu)上會越來越趨向于支持更多的面向?qū)ο蟮奶匦浴?/p>

實(shí)際工作中,當(dāng)需要封裝一個JS類(姑且這么說)的時候,你會為一些具體問題和概念苦惱:如何不破壞封裝性又能夠?yàn)镠TML對象注冊事件?如何在對象內(nèi)部獲得對象本身的引用?閉包是個什么東西?prototype?

想象遇到這樣一個注冊事件的問題:

熟悉的傳統(tǒng)方法是這樣的:

<img id=”image” src=”” onclick=”test()” />

但是有個問題,不能實(shí)現(xiàn)結(jié)構(gòu)與邏輯分離,怎么辦?找到了下面這種解決方式:

window.onload = function(){
    document.getElementById(“image”).onclick = test;
}

可是這樣不能注冊多個監(jiān)聽器,怎么辦?又找到了第三種解決方式:

window.onload = function(){
    document.getElementById(“image”).attachEvent(“onclick”,test);
}

問題又來了,你發(fā)現(xiàn)第三種方式在firefox無法運(yùn)行,你意識到代碼的平臺兼容性問題。那在firefox下是如何像第三種方法一樣注冊事件的呢?

addEventListener,對,就是它!于是有了第三種方式的改進(jìn)版本:

window.onload = function(){
         var element = document.getElementById(“image”);
         If(element.addEventListener){
                  element.addEventListener(“click”,test,false);
         } else {
         element.attachEvent(“onclick”,test);
         }
}

好了,現(xiàn)在第三種方法已經(jīng)有了比較完美的解決方案.可怎么樣才能讓它更具有通用性和可移植性呢?研究之后,這樣來做:

function addListener(element,e,fn){
         If(element.addEventListener){
                  element.addEventListener(e,fn,false);
         } else {
                  element.attachEvent(“on” + e,fn);
         }
}
window.onload = function(){
         var element = document.getElementById(“image”);
         addListener(element,”click”,test);
}

這樣,addListener函數(shù)就可以挪到別的地方用了,可是又遇到這樣的問題:你要在事件處理函數(shù)內(nèi)部獲得EVENT對象與img對象,并處理它們,怎么辦?

你開始意識到給test函數(shù)傳參,那么如何做?改寫test函數(shù)?

YES!可是你發(fā)現(xiàn)給事件處理函數(shù)傳參是很困難的事情。

怎么辦?

靈活運(yùn)用以上三種事件綁定手段,并找到它們的特性。

對于第一種方式,直接傳參就可以了。

<script type=”text/javascript”>
function $(element){
         if(typeof(element) == “string”){
                   return document.getElementById(element);
         } else {
                  return element;
         }
}
function test(e,which){
         alert(e.type + “\n” + which.tagName);
}
</script>
<img id=”image” src=”” onclick=”test(event,this)” />

第二種方式可以在事件處理函數(shù)內(nèi)部通過this指針獲得img對象的引用,可以通過全局的window.event和隱含參數(shù)arguments[0](Firefox)獲取EVENT對象。

<script type=”text/javascript”>
function $(element){
         if(typeof(element) == “string”){
                   return document.getElementById(element);
         } else {
                  return element;
         }
}
function test(e){
         e = e || window.event;
         alert(e.type + “\n” + this.tagName);
}
window.onload = function(){
         var Img = $(“image”);
         Img.onclick = test;
}
</script>
<img id=”image” src=”” onclick=”test(event,this)” />

出處:藍(lán)色理想
責(zé)任編輯:moby

上一頁 致有追求的Coder和可愛的部門同事 [1] 下一頁 致有追求的Coder和可愛的部門同事 [3]

◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。

關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗(yàn)設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/41個記錄/頁 轉(zhuǎn)到 頁 共4個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2