国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象

這篇具有很好參考價(jià)值的文章主要介紹了DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一.節(jié)點(diǎn)操作

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象,javascript,開發(fā)語言,ecmascript,前端,html,css3,css

1.父節(jié)點(diǎn):

  • node.parentNode? ? ? ? 得到的是離元素最近的父級節(jié)點(diǎn)

2.子節(jié)點(diǎn):

  • parentNode.childNodes? ? ? ? 所有的子節(jié)點(diǎn) 包含元素節(jié)點(diǎn) 文本節(jié)點(diǎn)等等
  • parentNode.children????????(非標(biāo)準(zhǔn)) 獲取所有的子元素節(jié)點(diǎn),實(shí)際開發(fā)常用

  • parentNode.firstChild? ? ? ? 獲取第一個(gè)子節(jié)點(diǎn) 不管是文本節(jié)點(diǎn)還是元素節(jié)點(diǎn)
  • parentNode.lastChild? ? ? ? 獲取最后一個(gè)子節(jié)點(diǎn)?不管是文本節(jié)點(diǎn)還是元素節(jié)點(diǎn)

  • parentNode.firstElementChild 返回第一個(gè)子元素節(jié)點(diǎn)(兼容性問題,IE9以上才支持)
  • parentNode.lastElementChild 返回最后一個(gè)子元素節(jié)點(diǎn)(兼容性問題,IE9以上才支持)

實(shí)際開發(fā): 既沒有兼容性問題又返回第一個(gè)子元素

  • 如果想要第一個(gè)子元素節(jié)點(diǎn),可以使用 parentNode.chilren[0]

3.兄弟節(jié)點(diǎn):

  • node.nextSibling 下一個(gè)兄弟節(jié)點(diǎn) 包含元素節(jié)點(diǎn)或者文本節(jié)點(diǎn)等等
  • node.previousSibling 上一個(gè)
  • node.nextElementSibling 得到下一個(gè)兄弟元素節(jié)點(diǎn)
  • node.previousElementSibling 上一個(gè)

4.創(chuàng)建節(jié)點(diǎn)

  • document.createElement('tagName')? ? ? ? 動態(tài)創(chuàng)建元素節(jié)點(diǎn)

5.添加節(jié)點(diǎn)

  • node.appendChild(child)? ? ? ? node父級? ? ? ? child子級? ? ? ? 后面追加元素
  • node.insertBefore(child , 指定元素)????????

6.刪除節(jié)點(diǎn)

  • node.removeChild(child)

7.復(fù)制節(jié)點(diǎn)(克隆節(jié)點(diǎn))

  • node.cloneNode()
  • 如果括號參數(shù)為空或者里面是false 淺拷貝 只復(fù)制標(biāo)簽不復(fù)制內(nèi)容
  • 括號內(nèi)為true 深拷貝 復(fù)制標(biāo)簽包括里面的內(nèi)容

8.三種創(chuàng)建元素方式的區(qū)別

  • document.write()
  • innerHTML
  • document.createElement()

區(qū)別:

  • document.write() 如果頁面文檔流加載完畢,再調(diào)用這句話會導(dǎo)致頁面重繪
  • innerHTML是將內(nèi)容寫入某個(gè)DOM節(jié)點(diǎn),不會導(dǎo)致頁面全部重繪
  • innerHTML創(chuàng)建多個(gè)元素效率更高(不要拼接字符串,采取數(shù)組形式拼接),結(jié)構(gòu)稍微復(fù)雜
  • createElement()創(chuàng)建多個(gè)元素效率稍低一點(diǎn)點(diǎn),但是結(jié)構(gòu)更清晰

二.事件高級

1.注冊事件(綁定事件)

傳統(tǒng)注冊事件:

  • 利用on開頭的事件onclick
  • 特點(diǎn):注冊事件的唯一性
  • 同一個(gè)元素同一個(gè)事件只能設(shè)置一個(gè)處理函數(shù),最后注冊的處理函數(shù)會覆蓋前面注冊的處理函數(shù)

方法監(jiān)聽注冊事件:

  • w3c標(biāo)準(zhǔn) 推薦方法
  • addEventListener()它是一個(gè)方法
  • IE9之前的IE不支持此方法,可使用attachEvent()代替
  • 特點(diǎn):同一個(gè)元素同一個(gè)事件可以注冊多個(gè)監(jiān)聽器,按注冊順序依次執(zhí)行

addEventListener()事件監(jiān)聽方式:

eventTarget.addEventListener(type , listener[ , useCapture]);

三個(gè)參數(shù):

  • type:事件類型字符串,比如click , mouseover ,注意這里不要加on,并且一定是字符串
  • listener:事件處理函數(shù),事件發(fā)生時(shí)會調(diào)用該監(jiān)聽函數(shù)
  • useCapture:可選參數(shù),是一個(gè)布爾值,默認(rèn)是false

attachEvent事件監(jiān)聽方式:只有ie9以前的版本支持

eventTarget.attachEvent(eventNameWithOn , callback);

兩個(gè)參數(shù):

eventNameWithOn:事件類型字符串,比如onclick , onmouseover 這里要帶on

callback:事件處理函數(shù),當(dāng)目標(biāo)觸發(fā)事件時(shí)回調(diào)函數(shù)被調(diào)用


2.刪除事件(解綁事件)

傳統(tǒng)方式刪除事件:????????

  • eventTarget.onclick = null

方法監(jiān)聽刪除事件:

  • eventTarget.removeEventListener(type , listener[ , useCapture]);
  • eventTarget.detachEvent(eventNameWithOn , callback);

三.DOM事件流

事件發(fā)生時(shí)會在元素節(jié)點(diǎn)之間按照特定的順序傳播,這個(gè)傳播過程就叫做DOM事件流

DOM事件流分為三個(gè)階段:

  1. 捕獲階段
  2. 當(dāng)前目標(biāo)階段
  3. 冒泡階段

注意:

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象,javascript,開發(fā)語言,ecmascript,前端,html,css3,css


四.事件對象

  1. event就是一個(gè)事件對象,寫在我們偵聽函數(shù)的小括號里面,當(dāng)作形參來看
  2. 事件對象只有有了事件才會存在,它是系統(tǒng)給我們自動創(chuàng)建的 不需要我們傳遞參數(shù)
  3. 事件對象是我們事件的一系列相關(guān)數(shù)據(jù)的集合,跟事件相關(guān)的,比如鼠標(biāo)點(diǎn)擊里面就包含了鼠標(biāo)的相關(guān)信息,鼠標(biāo)坐標(biāo)啊,如果是鍵盤事件里面就包含的鍵盤事件的信息,比如判斷用戶按下了那個(gè)鍵
  4. 這個(gè)事件對象我們可以自己命名,比如event? evt? e
  5. 事件對象也有兼容性問題? ? ? ? ie678通過window.event

常見事件對象的屬性和方法:

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象,javascript,開發(fā)語言,ecmascript,前端,html,css3,css

?return false也能阻止默認(rèn)行為,沒有兼容性問題? ? ? ?

特點(diǎn):return后面的代碼就不執(zhí)行了? ? ? ? 而且只限于傳統(tǒng)的注冊方式


五.事件委托(代理 委派)

給父節(jié)點(diǎn)添加偵聽器 , 利用事件冒泡影響每一個(gè)子節(jié)點(diǎn)


常見的鼠標(biāo)事件:

禁止鼠標(biāo)右鍵菜單:????????contextmenu????????主要用于程序員取消默認(rèn)的上下文菜單

禁止鼠標(biāo)選擇:????????selectstart??????????

鼠標(biāo)事件對象:

MouseEvent


常見的鍵盤事件:

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象,javascript,開發(fā)語言,ecmascript,前端,html,css3,css

?注意:

DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象,javascript,開發(fā)語言,ecmascript,前端,html,css3,css

keyCode屬性可以判斷用戶按下哪個(gè)鍵

keyup和keydown事件不區(qū)分字母大小寫 a和A得到都是65

keypress事件區(qū)分字符大小寫 a 97? A 65文章來源地址http://www.zghlxwxcb.cn/news/detail-643736.html

到了這里,關(guān)于DOM的節(jié)點(diǎn)操作+事件高級+DOM事件流+事件對象的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 掌握 JavaScript:從初學(xué)者到高級開發(fā)者的完整指南之JavaScript對象(二)

    掌握 JavaScript:從初學(xué)者到高級開發(fā)者的完整指南之JavaScript對象(二)

    可以大體分頁3大類: 第一類:基本對象,我們主要學(xué)習(xí)Array和JSON和String 第二類:BOM對象,主要是和瀏覽器相關(guān)的幾個(gè)對象 第三類:DOM對象,JavaScript中將html的每一個(gè)標(biāo)簽都封裝成一個(gè)對象 1.1.1 基本對象 1.1.1.1 Array對象 語法格式 Array對象時(shí)用來定義數(shù)組的。常用語法格式有如下

    2024年02月07日
    瀏覽(25)
  • 【ES6】Proxy的高級用法,實(shí)現(xiàn)一個(gè)生成各種 DOM 節(jié)點(diǎn)的通用函數(shù)dom

    【ES6】Proxy的高級用法,實(shí)現(xiàn)一個(gè)生成各種 DOM 節(jié)點(diǎn)的通用函數(shù)dom

    下面的例子則是利用get攔截,實(shí)現(xiàn)一個(gè)生成各種 DOM 節(jié)點(diǎn)的通用函數(shù)dom。 輸出結(jié)果:

    2024年02月10日
    瀏覽(22)
  • 探索JavaScript事件流:DOM中的神奇旅程

    探索JavaScript事件流:DOM中的神奇旅程

    ????江城開朗的豌豆 :個(gè)人主頁 ????個(gè)人專欄? :《 VUE 》?《 javaScript 》 ???生活的理想,就是為了理想的生活?! 目錄 引言 1. 事件流的發(fā)展流程 1.1 傳統(tǒng)的DOM0級事件 1.2 DOM2級事件和addEventListener方法 1.3 W3C DOM3級事件 1.4 React與Virtual DOM 2. 事件流的屬性 2.1 事件捕獲階段

    2024年02月08日
    瀏覽(21)
  • 前端基礎(chǔ)自學(xué)整理|HTML + JavaScript + DOM事件

    前端基礎(chǔ)自學(xué)整理|HTML + JavaScript + DOM事件

    目錄 一、HTML 1、Html標(biāo)簽 2、Html元素 3、基本的HTML標(biāo)簽 二、CSS 樣式 層疊樣式表 三、JavaScript 使用示例 四、HTML DOM? 通過可編程的對象模型,javaScript可以: window document 1、查找HTML元素 2、操作HTML元素 獲取元素的屬性 四、HTML DOM事件 ??是DOM提供的API Html是用來描述網(wǎng)頁的一

    2024年02月22日
    瀏覽(22)
  • JavaScript:DOM對象

    JavaScript:DOM對象

    嚴(yán)格意義上講,我們在 JavaScript 語法階段學(xué)習(xí)的知識絕大部分屬于 ECMAScript 的知識體系,ECMAScript 簡稱 ES 它提供了一套語言標(biāo)準(zhǔn)規(guī)范,如變量、數(shù)據(jù)類型、表達(dá)式、語句、函數(shù)等語法規(guī)則都是由 ECMAScript 規(guī)定的。瀏覽器將 ECMAScript 大部分的規(guī)范加以實(shí)現(xiàn),并且在此基礎(chǔ)上又?jǐn)U

    2024年02月02日
    瀏覽(21)
  • 2023-06-22 使用事件委托來為所有子節(jié)點(diǎn)綁定事件,e.target和this的區(qū)別,vue獲取DOM節(jié)點(diǎn)的常見方法

    1.使用事件委托為子節(jié)點(diǎn)綁定事件 2.e.target和this的區(qū)別 形參e是指 事件對象 , e.target是返回 觸發(fā)事件的對象 e.target與this的區(qū)別 比如: 在事件委托中,把點(diǎn)擊事件綁定給父節(jié)點(diǎn)(ul)時(shí), this返回的是綁定點(diǎn)擊事件的元素,也就是ul 而e.target返回的是被點(diǎn)擊的某個(gè)子節(jié)點(diǎn),也就是li 3.vue中

    2024年02月10日
    瀏覽(24)
  • JavaScript 入門指南(三)BOM 對象和 DOM 對象

    BOM(browser Object Model)即瀏覽器對象模型 BOM 由一系列對象組成,是訪問、控制、修改瀏覽器的屬性的方法 BOM 沒有統(tǒng)一的標(biāo)準(zhǔn)(每種客戶端都可以自定標(biāo)準(zhǔn))。 BOM 的頂層是 window 對象 window 對象表示瀏覽器中打開的窗口。 使用 window 對象中的屬性和方法,可以省略對象名,直

    2024年04月09日
    瀏覽(51)
  • 前端學(xué)習(xí)記錄~2023.8.3~JavaScript重難點(diǎn)實(shí)例精講~第5章 DOM與事件

    前端學(xué)習(xí)記錄~2023.8.3~JavaScript重難點(diǎn)實(shí)例精講~第5章 DOM與事件

    本章是第五章DOM與事件相關(guān)的內(nèi)容。 DOM是文檔對象模型,全稱為Document Object Model。DOM用一個(gè)邏輯樹來表示一個(gè)文檔,樹的每個(gè)分支終點(diǎn)都是一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都包含著對象。DOM提供了對文檔結(jié)構(gòu)化的表述,通過綁定不同的事件可以改變文檔的結(jié)構(gòu)、樣式和內(nèi)容,從而能實(shí)現(xiàn)

    2024年02月12日
    瀏覽(25)
  • 【JavaScript 】DOM操作快速入門

    【JavaScript 】DOM操作快速入門

    目錄 1.概述 2.操作 2.1.document對象 2.2.選中元素 2.2.1.get 2.2.2.query 2.3.操作屬性 2.4.添加響應(yīng) 2.5.修改文本 在Web開發(fā)中,JavaScript(JS)的DOM(Document Object Model,文檔對象模型)是一種用來表示網(wǎng)頁文檔結(jié)構(gòu)的編程接口。它將整個(gè)文檔抽象為一個(gè)樹形結(jié)構(gòu),每個(gè)節(jié)點(diǎn)都是文檔中的一

    2024年02月06日
    瀏覽(17)
  • javaScript:DOM中的CSS操作

    javaScript:DOM中的CSS操作

    ? 目錄 1.style 屬性獲取元素寫在行間的樣式 2.getComputedStyle(元素對象,null)可以獲取元素的非行間樣式? 3.案例(定義一個(gè)div和按鈕,每點(diǎn)擊一次按鈕div寬度增加) 效果預(yù)覽圖 代碼實(shí)現(xiàn) ? ? ? ? ? ?在 JavaScript 中,可以通過 DOM(文檔對象模型)操作來訪問和修改網(wǎng)頁上的 CS

    2024年02月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包