多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > JavaScript Event學(xué)習(xí)第三章:早期的事件處理程序

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

來源:程序員人生   發(fā)布時間:2014-03-07 07:17:11 閱讀次數(shù):2660次
在這一章我會談到一些最古老的添加事件處理程序的方法,這些方法甚至被第二代瀏覽器所支持。

這些古老的瀏覽器只支持一種注冊事件處理程序的方法,這個方法是Netscape發(fā)明的。因為Netscape先發(fā)制人,所以如果微軟也想做支持JavaScript事件的瀏覽器就得跟著Netscape走,所以這里沒有兼容性的問題。所以這種模式在任何支持JavaScript的瀏覽器都能運行---除了Mac上的IE3,他根本就不支持事件。

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

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

當(dāng)這個鏈接上發(fā)生單擊事件的時候,事件處理程序就被觸發(fā)然后執(zhí)行你的腳本:一個警告對話框彈出。你也可以觸發(fā)一個JavaScript函數(shù):

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

上面兩個例子里面事件的名字的大小寫只是一個習(xí)慣問題,HTML是大小寫不敏感的,所以你想怎么寫都可以。XHTML要求所有的屬性名稱必須都是小寫,所以如果你使用的XHTML那么名字就要寫成onclick。

不要用他
雖然這種內(nèi)聯(lián)型的注冊模型很古老也很可靠,但是他有一個不足。他要求你在XHTML結(jié)構(gòu)層里面寫上本不屬于這里的JavaScript代碼。

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

理解這些舊的模型對于JavaScript事件處理的全局感有很大幫助,但是你最好還是使用我后面說明的現(xiàn)代模式。

默認(rèn)動作
當(dāng)年Netscape設(shè)置了默認(rèn)動作也有怎樣防止默認(rèn)動作運行。他的模式拯救了瀏覽器大戰(zhàn)和標(biāo)準(zhǔn)的制定,而且到如今都很好的運行著。

眾所周知,當(dāng)用戶點擊了一個鏈接瀏覽器就會按照href的屬性加載頁面。這是鏈接上的默認(rèn)動作。但是當(dāng)你定義了一個onclick事件處理程序了以后會發(fā)生什么呢?應(yīng)該能被執(zhí)行,但是什么時候呢?

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

如果在這個鏈接上單擊,那么事件處理程序一定會被首先執(zhí)行。畢竟當(dāng)默認(rèn)動作發(fā)生--新頁面加載--舊的頁面包括事件處理程序本身都會從內(nèi)存中清除。如果onclick的事件處理程序執(zhí)行了,那么一定是在默認(rèn)動作之前。

這就有了一個非常重要的原理。如果一個事件同時觸發(fā)了默認(rèn)動作和事件處理程序,那么:
1、事件處理程序會首先執(zhí)行
2、默認(rèn)動作隨后執(zhí)行
所以在上面的例子中,doSomething()會首先執(zhí)行,然后瀏覽器會打開鏈接。

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

所以事件處理程序可以返回一個布爾值(ture或者false),false的含義就是“不要進(jìn)行默認(rèn)動作”。這樣我們就可以把例子改成:

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

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

有時候有必要讓函數(shù)決定什么時候該執(zhí)行什么時候不該執(zhí)行默認(rèn)動作。所以我們可以把例子改成:

<A HREF="somewhere.html" onClick="return doSomething()"> 
 function doSomething() 
 {
return confirm('Do you really want to follow this link?') 
 }

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲精品综合一区二区三区在线 | 欧美成人v视频免费看 | 亚洲春色图片 | 亚洲视频大全 | 久久在线一区 | 亚洲精品国产三级在线观看 | 99久久中文字幕伊人 | 欧美成人午夜精品一区二区 | 欧美 在线播放 | 欧美一级视频在线 | 国产亚洲一区二区三区在线观看 | 久久国产区| 高清国产一区二区 | 人成免费a级毛片 | 亚洲乱码中文字幕 | 高清完整视频在线播放 | 91麻豆精品国产91久久久久久 | 日韩欧美第一页 | 最近中文字幕高清字幕6 | 国产基zz视频日本在线观看 | 永久在线播放 | 欧美日韩中文一区二区三区 | 国产精品福利一区二区 | 国产激情一区二区三区 | 久久大香伊蕉在人线国产联合 | 国产成人影院一区二区 | 亚洲免费在线视频播放 | 国产精品一区高清在线观看 | 日本日韩欧美 | 午夜国产理论 | 中文字幕一区二区三区有限公司 | 在线成人tv天堂中文字幕 | 精品久久久久久中文字幕欧美 | 99爱视频 | 波多野结衣精品一区二区三区 | 久久精品国产欧美日韩亚洲 | 亚洲男人天堂久久 | 欧美性猛交xxx嘿人猛交 | 亚洲欧美综合图片 | 欧美综合久久 | 亚洲免费一区 |