欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法

 更新時(shí)間:2016年07月23日 09:57:26   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇js事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

3.1. 事件是如何產(chǎn)生的 *

第一種情況,用戶對(duì)網(wǎng)頁(yè)做了某些操作,比如,點(diǎn)擊了一個(gè)按鈕,產(chǎn)生點(diǎn)擊事件。 第二種情況,用戶沒(méi)有對(duì)網(wǎng)頁(yè)做操作,也可能產(chǎn)生事件,比如瀏覽器已經(jīng)將整個(gè)頁(yè)面加載完畢,會(huì)產(chǎn)生加載完成事件。當(dāng)事件產(chǎn)生以后,瀏覽器會(huì)查找產(chǎn)生事件的節(jié)點(diǎn)有沒(méi)有綁訂相應(yīng)的事件處理代碼。如果有,則調(diào)用該代碼來(lái)處理。如果沒(méi)有,會(huì)繼續(xù)向上查找父節(jié)點(diǎn),有沒(méi)有對(duì)應(yīng)的事件處理代碼(事件冒泡)。

3.2. 綁訂事件處理代碼 **

1) 綁訂事件處理代碼到html標(biāo)記乊上

比如: <a id="a1" href="" onclick="f1();">click</a>

2) 綁訂事件處理代碼到dom節(jié)點(diǎn)之上

var obj = document.getElementById('a1'); obj.onclick=f1;

注意:

a. f1不要加"()",加"()"表示立即執(zhí)行f1這個(gè)凼數(shù)。

b. 可以使用匿名凼數(shù)迚行綁訂。

即: obj.onclick=function(){ //代碼。 }

c. 綁訂事件處理代碼到dom節(jié)點(diǎn)之上,可以將js代碼不html完全分離,方便代碼的維護(hù)。

d. 如果要給綁訂的凼數(shù)傳參??梢允褂媚涿蕯?shù)來(lái)解決。

即: obj.onclick=function(){ f(參數(shù)); }

3) 使用瀏覽器自帶的綁訂方式(了解)

不同的瀏覽器,有各自獨(dú)有的綁訂方式,因?yàn)樨⒓嫒?,所以盡量少用。

Script腳本可以在<body>中寫

等價(jià)于下圖

如果傳參數(shù)怎么辦?使用匿名凼數(shù)

【案例3.1】綁訂事件處理代碼到html標(biāo)記之上 **

3.3. 事件對(duì)象 ***

1) 獲得事件對(duì)象

IE瀏覽器: 可以直接使用event獲得

firefox: 必須給方法添加一個(gè)參數(shù)event

一般為了兼容ie,firefox,給方法添加一個(gè)參數(shù)event

2) 事件對(duì)象的作用

a. 獲得鼠標(biāo)點(diǎn)擊的坐標(biāo)

event.clientX event.clientY

b. 獲得事件源(產(chǎn)生事件的那個(gè)對(duì)象)

firefox: event.target獲得 IE瀏覽器: event.srcElement獲得

3.4. 事件冒泡 **

1) 什么是事件冒泡?當(dāng)一個(gè)節(jié)點(diǎn)產(chǎn)生事件以后,該事件會(huì)依次向上傳遞(先傳給父節(jié)點(diǎn),如果父節(jié)點(diǎn)還有父節(jié)點(diǎn), 再向上傳遞)。

2) 如何禁止冒泡? event.cancelBubble = true;

2) “事件冒泡”現(xiàn)象關(guān)閉對(duì)話框“你點(diǎn)擊了一個(gè)鏈接”,繼續(xù)彈出對(duì)話框“你點(diǎn)擊了一個(gè)div”

【案例3.4】事件對(duì)象 **

<html>

<!--事件對(duì)象-->

------------------------------------------------------------------------------------------------------

js是采用事件驅(qū)動(dòng)(event-driven)響應(yīng)用戶操作的。

比如通過(guò)鼠標(biāo)或者按鍵在瀏覽器窗口或者網(wǎng)頁(yè)元素(按鈕,文本框...)上執(zhí)行的操作,我們稱之為事件(Event)。

由鼠標(biāo)或熱鍵引發(fā)的一連串程序的動(dòng)作,稱之為事件驅(qū)動(dòng) (Event-Driver)。

對(duì)事件進(jìn)行處理程序或函數(shù),我們稱之為事件處理程序 (Event Handler)。

----------------------------------------------------------------------------------------------------------------------

瀏覽器兼容處理

<script language="javascript">
<!--
   if(window.XMLHttpRequest){ //Mozilla, Safari, IE7,IE8 
   if(!window.ActiveXObject){ // Mozilla, Safari, 
     alert('Mozilla, Safari'); 
   }else{ 
     alert('IE7 .8'); 
   } 
 }else { 
   alert('IE6'); 
 } 
//-->
</script>

-------------------------------------------------------------------------------待續(xù)

一個(gè)事件,需要多個(gè)方法,可以用,隔開就可以了

<input type="button" value="red" onclick="mychange(this),sayHello()"/>

<body onkeydown="showkey(event)" onload="abc()" onunload="abc2()">

以上這篇js事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS倒計(jì)時(shí)實(shí)例_天時(shí)分秒

    JS倒計(jì)時(shí)實(shí)例_天時(shí)分秒

    下面小編就為大家?guī)?lái)一篇JS倒計(jì)時(shí)實(shí)例_天時(shí)分秒。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫

    微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • JavaScript實(shí)現(xiàn)仿淘寶商品購(gòu)買數(shù)量的增減效果

    JavaScript實(shí)現(xiàn)仿淘寶商品購(gòu)買數(shù)量的增減效果

    最近接了個(gè)項(xiàng)目,要開發(fā)一個(gè)地方的O2O租書項(xiàng)目,使用的是asp.net mvc技術(shù),其中咋圖書詳情頁(yè),用戶可以輸入借閱的數(shù)量,器實(shí)現(xiàn)此功能的方法是使用了js來(lái)控制數(shù)量的增減和校驗(yàn),對(duì)js實(shí)現(xiàn)商品數(shù)量的增減功能感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • js設(shè)置文字顏色的方法示例

    js設(shè)置文字顏色的方法示例

    這篇文章主要介紹了js設(shè)置文字顏色的方法,涉及JS頁(yè)面元素樣式操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • 詳解JavaScript中的屬性和特性

    詳解JavaScript中的屬性和特性

    本文對(duì)JavaScript中對(duì)象的本質(zhì)、對(duì)象與類的關(guān)系、對(duì)象與引用類型的關(guān)系;對(duì)象屬性如何進(jìn)行分類;屬性中特性進(jìn)行介紹。感興趣的朋友可以看下
    2016-12-12
  • layui添加動(dòng)態(tài)菜單與選項(xiàng)卡

    layui添加動(dòng)態(tài)菜單與選項(xiàng)卡

    這篇文章主要為大家詳細(xì)介紹了layui添加動(dòng)態(tài)菜單與選項(xiàng)卡,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 關(guān)于Iframe父頁(yè)面與子頁(yè)面之間的相互調(diào)用

    關(guān)于Iframe父頁(yè)面與子頁(yè)面之間的相互調(diào)用

    下面小編就為大家?guī)?lái)一篇關(guān)于Iframe父頁(yè)面與子頁(yè)面之間的相互調(diào)用。小編覺得挺不錯(cuò)的,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦
    2016-11-11
  • JavaScript快速排序

    JavaScript快速排序

    JavaScript快速排序...
    2007-01-01
  • javascript事件委托的方式綁定詳解

    javascript事件委托的方式綁定詳解

    我們?cè)趯W(xué)習(xí)JavaScript中,難免都會(huì)去網(wǎng)上查一些資料。也許偶爾就會(huì)遇到“事件委托”,但是,大多數(shù)時(shí)說(shuō)的是“事件綁定”,對(duì)于“事件委托”,或是不提,或是淺嘗輒止。對(duì)于我這個(gè)比較好奇的人來(lái)說(shuō),實(shí)在很蛋疼。尤其是想更多的了解“事件委托”的時(shí)候。
    2015-06-06
  • xmlplus組件設(shè)計(jì)系列之選項(xiàng)卡(Tabbar)(5)

    xmlplus組件設(shè)計(jì)系列之選項(xiàng)卡(Tabbar)(5)

    xmlplus 是一個(gè)JavaScript框架,用于快速開發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之選項(xiàng)卡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論