本文實例講述了JavaScript中的模擬事件和自定義事件。分享給大家供大家參考,具體如下:
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)10多年經(jīng)驗成就非凡,專業(yè)從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文平臺,一元廣告等。10多年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18982081108,我們期待您的來電!前面介紹了JavaScript中為事件指定處理程序的五種方式和JavaScript的事件對象event。
下面介紹JavaScript中的模擬事件和自定義事件。
1、DOM中的事件模擬
1) DOM中的事件模擬有以下3個步驟:
步驟1:創(chuàng)建事件對象event
可以在document對象上使用createEvent()
方法創(chuàng)建event對象,此方法接收一個參數(shù),即要創(chuàng)建的事件類型的字符串。在DOM2級中這些字符串都使用英文復(fù)數(shù)形式,而在DOM3級中都變成了單數(shù)。這個字符串可以是以下幾個字符串之一:
① UIEvents:一般化的UI事件,鼠標(biāo)事件和鍵盤事件都繼承自UI事件,DOM3級中是UIEvent;
② MouseEvents:一般化的鼠標(biāo)事件,DOM3級中是MouseEvent;
③ MutationEvents:一般化的DOM變動事件,DOM3級中是MutationEvent;
④ HTMLEvents:一般化的HTML事件,沒有對應(yīng)的DOM3級事件,被分散到 其他類別中。
步驟2:初始化事件對象
使用與事件有關(guān)的信息對其進(jìn)行初始化,每種類型的event對象都有一個特殊的方法,為它傳入適當(dāng)?shù)臄?shù)據(jù)就可以初始化該event對象,不同類型的方法的名字也不相同,具體要取決于createEvent()
中使用的參數(shù)。
步驟3:觸發(fā)事件
使用dispatch()
方法,此方法接收一個參數(shù),即要觸發(fā)事件的event對象。
2) 模擬鼠標(biāo)事件:
使用createEvent()
方法創(chuàng)建event對象,傳入字符串"MouseEvents",返回的對象有一個名為initMouseEvent()
方法,用于指定與該鼠標(biāo)事件有關(guān)的信息。
模擬按鈕的單擊事件:
var btn = document.getElementsByTagNames("button")[0]; var event = document.createEvent("MouseEvents"); event.initMouseEvent("click", true, true, document.defaultView, 0, 0, 0, 0, 0, false, false, false, 0, null); btn.dispatchEvent(event);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前題目:JavaScript中的模擬事件和自定義事件實例分析-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article6/idgog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、建站公司、面包屑導(dǎo)航、動態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容