事件

1.何謂事件

用戶和網(wǎng)頁交互時(shí)的行為,動(dòng)作,稱之為事件;

2.監(jiān)視事件

現(xiàn)實(shí)生活中焦读,為了監(jiān)視車輛是否違章表鳍,通過在紅綠燈安裝攝像頭監(jiān)視車輛骇窍,我們?cè)诰W(wǎng)頁中要想知道用戶是否某個(gè)行為是否發(fā)生了,也需要安裝監(jiān)聽器進(jìn)行監(jiān)視,這樣當(dāng)用戶的行為發(fā)生時(shí)饼煞,我們要做相應(yīng)的處理源葫,從而提升用戶體驗(yàn).

我們監(jiān)視用戶的行為(事件)是否發(fā)生了,有3種方式:
(1)將事件監(jiān)聽器綁定在html標(biāo)簽上,作為標(biāo)簽屬性存在
例如我們監(jiān)聽用戶點(diǎn)擊的行為,可采取這種寫法<a href="onclick">,通過on關(guān)鍵字加監(jiān)視的行為(事件),這種方式由于html標(biāo)簽和javascript代碼緊密耦合在一塊,這樣不是非常的靈活;

將事件監(jiān)聽器綁定在html標(biāo)簽上,作為標(biāo)簽屬性存在

(2)DOM0級(jí)事件監(jiān)聽
將事件監(jiān)聽器綁定在DOM節(jié)點(diǎn)對(duì)象上

DOM0級(jí)事件監(jiān)聽

(3)DOM2級(jí)事件監(jiān)聽
DOM2級(jí)事件定義了兩個(gè)方法用于處理指定和刪除事件處理程序的操作:

  • addEventListener
  • removeEventListener
    所有的DOM節(jié)點(diǎn)都包含這兩個(gè)方法,并且它們都接受三個(gè)參數(shù):
  • 事件類型
  • 事件處理方法
  • 布爾參數(shù)砖瞧,如果是true表示在捕獲階段調(diào)用事件處理程序息堂,如果是false,則是在事件冒泡階段處理

//參數(shù)1:事件類型 click块促,沒有on
//參數(shù)2:事件發(fā)生時(shí)執(zhí)行的函數(shù)
//參數(shù)3:是否捕獲荣堰,true捕獲、false非捕獲-事件冒泡(100%----false)

  • IE(6-7-8)等瀏覽器通過attachEvent方法進(jìn)行監(jiān)聽,通過detachEvent來移除監(jiān)聽程序
    在這里需要特別注意的是IE瀏覽器只支持事件冒泡的事件流,添加的事件處理程序發(fā)生在事件冒泡階段;
    參數(shù)1:事件類型:加上on關(guān)鍵字
    參數(shù)2:事件發(fā)生時(shí)執(zhí)行的函數(shù)
DOM2級(jí)監(jiān)聽的簡單實(shí)例
采用DOM2級(jí)實(shí)現(xiàn)的監(jiān)聽效果

將上述代碼進(jìn)行簡單的封裝,保存到common.js文件中,之后導(dǎo)入主文件中進(jìn)行調(diào)用
封裝如下:


對(duì)DOM2級(jí)事件監(jiān)聽的兼容寫法

3.事件流

事件流描述的是從頁面中接收事件的順序竭翠,比如有兩個(gè)嵌套的div振坚,點(diǎn)擊了內(nèi)層的div,這時(shí)候是內(nèi)層的div先觸發(fā)click事件還是外層先觸發(fā)斋扰?目前主要有三種模型:

  • (1) IE的事件冒泡:事件開始時(shí)由最具體的元素接收渡八,然后逐級(jí)向上傳播到較為不具體的元素

  • (2) Netscape的事件捕獲:不太具體的節(jié)點(diǎn)更早接收事件,而最具體的元素最后接收事件传货,和事件冒泡相反

  • (3) DOM事件流:DOM2級(jí)事件規(guī)定事件流包括三個(gè)階段呀狼,事件捕獲階段,處于目標(biāo)階段损离,事件冒泡階段,首先發(fā)生的是事件捕獲绝编,為截取事件提供機(jī)會(huì)僻澎,然后是實(shí)際目標(biāo)接收事件,最后是冒泡階段
    采用以下實(shí)例來說明這種事件關(guān)系:

事件冒泡模型,事件捕獲模型,DOM事件流

4.事件捕獲和事件冒泡

  • 事件捕獲:先執(zhí)行父元素身上的事件,再執(zhí)行自身.設(shè)置為true;

  • 事件冒泡:先執(zhí)行自己身上的事件,再執(zhí)行父元素身上的.設(shè)置false;
    阻止事件冒泡:

通過事件對(duì)象阻止十饥,事件對(duì)象是當(dāng)事件(用戶行為)發(fā)生的時(shí)候窟勃,會(huì)自動(dòng)產(chǎn)生的一個(gè)對(duì)象,而且這個(gè)對(duì)象會(huì)自動(dòng)傳遞到函數(shù)里面逗堵,通常我們會(huì)通過事件對(duì)象來獲得當(dāng)行為發(fā)生時(shí)秉氧,事件主題的信息(坐標(biāo)、左擊蜒秤、右擊等)

分別將執(zhí)行事件的stopPropogation方法和將cancleBubble屬性設(shè)置為true,可以阻止主流瀏覽器和IE瀏覽器的事件冒泡現(xiàn)象;

  • event.stopPropogation()
  • event.cancleBubble = true

5.事件對(duì)象

DOM中的事件對(duì)象

在觸發(fā)DOM上的某個(gè)事件的時(shí)候會(huì)產(chǎn)生一個(gè)事件對(duì)象event汁咏,這個(gè)對(duì)象包含著所有與事件有關(guān)的信息,包括產(chǎn)生事件的元素作媚、事件類型等相關(guān)信息攘滩。所有瀏覽器都支持event對(duì)象,但支持方式不同纸泡。

event對(duì)象包含與創(chuàng)建它的特定事件有關(guān)的屬性和方法漂问,觸發(fā)事件的類型不同,可用的屬性和方法也不同,但是所有事件都會(huì)包含

事件對(duì)象的屬性及方法

6.事件分類

(1)鼠標(biāo)事件:用戶鼠標(biāo)的行為

  • click :鼠標(biāo)單擊事件
  • dbclick:鼠標(biāo)雙擊行為(連續(xù)點(diǎn)擊)
鼠標(biāo)連續(xù)點(diǎn)擊
  • mousedown:鼠標(biāo)按下行為
  • mouseup:鼠標(biāo)抬起行為
    通常應(yīng)用場(chǎng)景:鼠標(biāo)按下的時(shí)候,獲得是左擊還是右擊?通過事件對(duì)象的button屬性來獲得:
    • button屬性為:0表示鼠標(biāo)左擊
    • button屬性為:1表示滑輪按下
    • button屬性為:2表示鼠標(biāo)右擊
鼠標(biāo)按下,抬起的行為
  • mouseover:鼠標(biāo)移入(會(huì)出現(xiàn)事件冒泡,不僅執(zhí)行子元素上的事件,而且還會(huì)執(zhí)行父元素上的事件)
  • mouseout:鼠標(biāo)移除(會(huì)出現(xiàn)事件冒泡,不僅執(zhí)行子元素上的事件,而且還會(huì)執(zhí)行父元素上的事件)
鼠標(biāo)移入進(jìn)來,鼠標(biāo)移出去
  • mouseenter,mouseleave:鼠標(biāo)移入,移出的行為(阻止事件冒泡)
    要注意這兩個(gè)鼠標(biāo)移入移出事件與mouseover以及mouseout事件的區(qū)別在于是否阻止了事件冒泡機(jī)制;

如上圖,可見當(dāng)鼠標(biāo)移入子元素的時(shí)候,發(fā)生了事件冒泡現(xiàn)象,父元素的事件監(jiān)聽也執(zhí)行了;


如上圖,可見當(dāng)鼠標(biāo)移入子元素的時(shí)候,只會(huì)執(zhí)行子元素上的事件監(jiān)聽程序,而不會(huì)發(fā)生事件冒泡現(xiàn)象

  • mousemove:鼠標(biāo)移動(dòng)(放大鏡)
    通常通過鼠標(biāo)移動(dòng)的時(shí)候,獲得事件發(fā)生時(shí)鼠標(biāo)所在的位置

通過事件對(duì)象的
clientX蚤假、clientY:獲得距離客戶端(瀏覽器)的距離(不包含滾動(dòng)條卷去的高度)
pageX栏饮、pageY:獲得距離頁面的距離(包含滾動(dòng)條卷去的高度)

clientX,clientY分別是事件對(duì)象的屬性
pageX,pageY表示獲得距離頁面的距離,包含了滾動(dòng)條卷去的高度
  • scroll:鼠標(biāo)滑輪滾動(dòng)行為
    說明:由于scroll監(jiān)視的是body整體在滑動(dòng),所以事件應(yīng)該監(jiān)視在body身上去
    獲得每次滑輪滾動(dòng)時(shí)磷仰,滾動(dòng)的距離袍嬉,通過scrollTop獲得滾動(dòng)距離,而scrollHeight獲得滾動(dòng)條總的高度;
    • scrollTop:獲得滾動(dòng)條每次滾動(dòng)的距離(距離頂部的距離)
    • scrollLeft:獲得滾動(dòng)條每次滾動(dòng)的距離(距離左邊的距離)
    • scrollHeight:獲得滾動(dòng)條總的高度

(2)鍵盤事件:用戶鍵盤行為

說明:監(jiān)視用戶的鍵盤的行為芒划,用戶可以通過鍵盤和網(wǎng)頁進(jìn)行交互

javascript設(shè)計(jì)者給每一個(gè)按鍵分配了一個(gè)ASCII碼冬竟,通過事件對(duì)象的keyCode屬性獲得這個(gè)ASCII碼:
比如當(dāng)我們按下w鍵時(shí),對(duì)應(yīng)的ASCLL碼值為87,同理s鍵對(duì)應(yīng)的是83.a鍵對(duì)應(yīng)的是65,d鍵對(duì)應(yīng)的是68;

有3個(gè)按鍵是特殊:
ctrl鍵 ----------- event.ctrlKey屬性
shift鍵---------- event.shiftKey屬性
alt鍵----------- event.altKey屬性
這三個(gè)按鍵只有當(dāng)我們按下的時(shí)候,對(duì)應(yīng)的這3個(gè)屬性才為true

將來我們只需要判斷只要ctrlKey屬性為true民逼,說明ctrl鍵被按下了泵殴,只要altKey屬性為true,說明altKey屬性被按下了

這三個(gè)鍵按下的時(shí)候打印true,抬起則為false
  • keydown:鍵盤按鍵按下
  • keyup:鍵盤按鍵抬起

(3)表單事件

  • submit:表單提交事件(表單提交行為)
    通常監(jiān)視這個(gè)提交的行為拼苍,一旦提交行為發(fā)生了笑诅,我們要去驗(yàn)證輸入框的內(nèi)容是否合法,如果不符合規(guī)則疮鲫,則阻止表單提交到服務(wù)器;

  • select:輸入框內(nèi)容被選中行為

  • focus:輸入框獲得光標(biāo),獲得焦點(diǎn)行為

  • blur:輸入框失去光標(biāo),失去焦點(diǎn)行為

  • change:監(jiān)視下拉列表內(nèi)容發(fā)生變化行為

  • reset:重置按鈕被點(diǎn)擊的行為

(4)頁面加載完畢事件
load:某個(gè)網(wǎng)頁以及圖像被完整加載

復(fù)習(xí)部分

題目1: DOM0 事件和DOM2級(jí)在事件監(jiān)聽使用方式上有什么區(qū)別吆你?

DOM0級(jí)事件和DOM2級(jí)在時(shí)間監(jiān)聽使用方式的區(qū)別在于:

  • DOM0級(jí)事件
    是將事件監(jiān)聽器綁定在DOM節(jié)點(diǎn)上,事件處理程序是被認(rèn)為是當(dāng)前綁定節(jié)點(diǎn)元素的事件處理屬性的值,事件處理程序是在元素的作用域下運(yùn)行,this指的是當(dāng)前的元素;要注意的是一個(gè)事件只能綁定一次,如果綁定了新方法,則新方法會(huì)覆蓋舊方法;

  • DOM2級(jí)事件 定義了addEventListener,removeEventLIstener兩種方法用于處理指定和刪除事件處理程序的操作;所有的DOM節(jié)點(diǎn)都包含這兩個(gè)方法,并且它們都接受三個(gè)參數(shù):事件類型俊犯、事件處理方法妇多、布爾參數(shù)。本質(zhì)是通過DOM節(jié)點(diǎn)特定的綁定事件監(jiān)聽程序來進(jìn)行事件處理;

題目2: attachEvent與addEventListener的區(qū)別燕侠?

attachEvent與addEventListener的區(qū)別在于:

  • 兼容性上的區(qū)別,attachEvent是老版本IE上綁定事件處理程序的方法,而addEventListener是主流瀏覽器上的綁定事件處理程序的方法;

  • 參數(shù)個(gè)數(shù)不相同者祖,addEventListener有三個(gè)參數(shù),attachEvent只有兩個(gè)绢彤,attachEvent添加的事件處理程序只能發(fā)生在冒泡階段七问,addEventListener第三個(gè)參數(shù)可以決定添加的事件處理程序是在捕獲階段還是冒泡階段處理(我們一般為了瀏覽器兼容性都設(shè)置為冒泡階段)

  • 第一個(gè)參數(shù)意義不同,addEventListener第一個(gè)參數(shù)是事件類型(比如click茫舶,load)械巡,而attachEvent第一個(gè)參數(shù)指明的是事件處理函數(shù)名稱(onclick,onload)

  • 事件處理程序的作用域不相同饶氏,addEventListener的作用域是元素本身讥耗,this是指的觸發(fā)元素,而attachEvent事件處理程序會(huì)在全局變量內(nèi)運(yùn)行嚷往,this是window葛账,所以會(huì)返回undefined,而不是元素id皮仁。

  • 為一個(gè)事件添加多個(gè)事件處理程序時(shí)籍琳,執(zhí)行的順序不同菲宴。 addEventListener 會(huì)按照添加的順序執(zhí)行。 attachEvent 添加多個(gè)事件處理程序時(shí)趋急,順序是無規(guī)律的喝峦。

題目3: 解釋IE事件冒泡和DOM2事件傳播機(jī)制?

  • 事件開始時(shí)由最具體的元素接收呜达,然后逐級(jí)向上傳播到較為不具體的元素;
    假如將DOM節(jié)點(diǎn)各級(jí)都綁定了事件監(jiān)聽器,那么當(dāng)發(fā)生IE事件冒泡時(shí),會(huì)從子類元素的事件處理程序開始執(zhí)行,一級(jí)一級(jí)向上執(zhí)行各級(jí)的事件冒泡程序;

  • DOM2級(jí)事件規(guī)定事件流包括三個(gè)階段谣蠢,事件捕獲階段,處于目標(biāo)階段查近,事件冒泡階段眉踱,首先發(fā)生的是事件捕獲,為截取事件提供機(jī)會(huì)霜威,然后是實(shí)際目標(biāo)接收事件谈喳,最后是冒泡階段;

題目4:如何阻止事件冒泡? 如何阻止默認(rèn)事件戈泼?

  • 要阻止事件的默認(rèn)行為婿禽,可以使用preventDefault()方法,前提是cancelable值為true

  • stopPropagation()方法可以停止事件在DOM層次的傳播大猛,即取消進(jìn)一步的事件捕獲或冒泡

  • 而要阻止在IE上的事件冒泡發(fā)生,則可將事件對(duì)象的cancleBubble 屬性設(shè)置為true;

題目5:有如下代碼扭倾,要求當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容。不考慮兼容

<script>
    var liArr = document.getElementsByClassName('ct')[0].getElementsByTagName('li')
    for(var i=0;i<liArr.length;i++){
        liArr[i].addEventListener('click', function(){
            console.log(this.innerText);
        }, false)
        
    }
</script>

題目6: 補(bǔ)全代碼挽绩,要求:

  • 當(dāng)點(diǎn)擊按鈕開頭添加時(shí)在<li>這里是</li>元素前添加一個(gè)新元素膛壹,內(nèi)容為用戶輸入的非空字符串;當(dāng)點(diǎn)擊結(jié)尾添加時(shí)在最后一個(gè) li 元素后添加用戶輸入的非空字符串.
  • 當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容唉堪。
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
  <body>
    <ul class="ct">
    <li>測(cè)試數(shù)據(jù)1</li>
    <li>測(cè)試數(shù)據(jù)2</li>
    <li>測(cè)試數(shù)據(jù)3</li>
</ul>
<input type="text" class="ipt-add-content" placeholder="添加內(nèi)容"/>
<button id="btn-add-start">開頭添加</button>
<button id="btn-add-end">結(jié)尾添加</button>
<script>

    var ct=document.querySelector('.ct'),
        addStartBtn=document.querySelector('#btn-add-start'),
        addEndBtn=document.querySelector('#btn-add-end'),
        ipt=document.querySelector('.ipt-add-content');


    ct.addEventListener('click',function(e){
            if(e.target.tagName.toLowerCase()==='li'){
                console.log(e.target.innerText);
            }
  });

    addEndBtn.addEventListener('click', function(){
            if(!ipt.value){ 
                    alert('文本輸入框必須輸入內(nèi)容'); 
                    return; 
            }else{
                let newLi=document.createElement('li');             
                newLi.innerText=ipt.value;
                ct.appendChild(newLi);
                ipt.value='';   
            }       
    });

    addStartBtn.addEventListener('click', function(){
            if(!ipt.value){ 
                alert('文本輸入框必須輸入內(nèi)容'); 
                return; 
            }else{
              let newLi=document.createElement('li');
                newLi.innerText=ipt.value;      
                ct.insertBefore(newLi, ct.firstChild);
                ipt.value='';   
            }       
    });
</script>
</body>
</html>

題目7: 補(bǔ)全代碼恢筝,要求:當(dāng)鼠標(biāo)放置在li元素上,會(huì)在img-preview里展示當(dāng)前l(fā)i元素的data-img對(duì)應(yīng)的圖片巨坊。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<ul class="ct">
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/11.jpg">鼠標(biāo)放置查看圖片</li>
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/13.jpg">鼠標(biāo)放置查看圖片</li>
    <li data-img="http://cdn.jirengu.com/book.jirengu.com/img/14.jpg">鼠標(biāo)放置查看圖片</li>
</ul>
<div class="img-preview"></div>

<script text="text/javascript">
    var ct = document.querySelector(".ct");
    var list = document.querySelectorAll("li");
    var preview = document.querySelector(".img-preview")

    //利用循環(huán)來綁定事件
    /*for(var i=0;i<list.length;i++){
        list[i].addEventListener('click', function(){
            //設(shè)置data-img變量來存儲(chǔ)圖片的網(wǎng)絡(luò)地址
            var data_img = this.getAttribute("data-img");
            preview.innerHTML = "![]("+data_img+")";
        }, false)
    }
*/
    
    //利用事件代理來實(shí)現(xiàn)事件綁定
    ct.addEventListener('click', function(e){
        var data_img = e.target.getAttribute('data-img');
        preview.innerHTML = "![]("+data_img+")";
    }, false)
    
</script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市此改,隨后出現(xiàn)的幾起案子趾撵,更是在濱河造成了極大的恐慌,老刑警劉巖共啃,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件占调,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡移剪,警方通過查閱死者的電腦和手機(jī)究珊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纵苛,“玉大人剿涮,你說我怎么就攤上這事言津。” “怎么了取试?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵悬槽,是天一觀的道長。 經(jīng)常有香客問我瞬浓,道長初婆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任猿棉,我火速辦了婚禮磅叛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萨赁。我一直安慰自己弊琴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布位迂。 她就那樣靜靜地躺著访雪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掂林。 梳的紋絲不亂的頭發(fā)上臣缀,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音泻帮,去河邊找鬼精置。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锣杂,可吹牛的內(nèi)容都是我干的脂倦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼元莫,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赖阻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起踱蠢,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤火欧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后茎截,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苇侵,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年企锌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榆浓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撕攒,死狀恐怖陡鹃,靈堂內(nèi)的尸體忽然破棺而出烘浦,到底是詐尸還是另有隱情,我是刑警寧澤杉适,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布谎倔,位于F島的核電站,受9級(jí)特大地震影響猿推,放射性物質(zhì)發(fā)生泄漏片习。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一蹬叭、第九天 我趴在偏房一處隱蔽的房頂上張望藕咏。 院中可真熱鬧,春花似錦秽五、人聲如沸孽查。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盲再。三九已至,卻和暖如春瓣铣,著一層夾襖步出監(jiān)牢的瞬間答朋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工棠笑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梦碗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓蓖救,卻偏偏與公主長得像洪规,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子循捺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 以下文章為轉(zhuǎn)載斩例,對(duì)理解JavaScript中的事件處理機(jī)制很有幫助,淺顯易懂从橘,特分享于此樱拴。 什么是事件? 事件(E...
    jxyjxy閱讀 3,037評(píng)論 1 10
  • JavaScript 程序采用了異步事件驅(qū)動(dòng)編程模型洋满。在這種程序設(shè)計(jì)風(fēng)格下,當(dāng)文檔珍坊、瀏覽器牺勾、元素或與之相關(guān)的對(duì)象發(fā)...
    劼哥stone閱讀 1,256評(píng)論 3 11
  • 聲明:本文來源于http://www.webzsky.com/?p=731我只是在這里作為自己的學(xué)習(xí)筆記整理一下(...
    angryyan閱讀 7,019評(píng)論 1 6
  • DOM0級(jí)和DOM2級(jí)在事件監(jiān)聽使用方式上有什么區(qū)別? DOM0級(jí)事件監(jiān)聽:用JavaScript指定事件處理程序...
    LeeoZz閱讀 378評(píng)論 0 1
  • 事件 JavaScript和HTML的交互是通過事件實(shí)現(xiàn)的阵漏。JavaScript采用異步事件驅(qū)動(dòng)編程模型驻民,當(dāng)文檔翻具、...
    徐國軍_plus閱讀 581評(píng)論 0 2