2019-05-29

JS事件和BOM

事件的作用:(1)验证用户输入的数据

           (2)增加页面的动感效果

           (3)增强用户的体验度

事件中的名词:(1)事件源:谁触发的事件

            (2)事件名:触发了什么事件

            (3)事件监听:谁管这个事件,谁监视?

            (4)事件处理:发生了怎么办

事件类型:Keyboard键盘事件;

           Mouse事件,由鼠标或者类似用户动作触发的事件;

           Media事件,由媒介(比如视频、图像和音频)触发的事件;

常用的事件:(1)onload  当页面或者图像加载完后立即触发

               (2)onblur 当元素失去焦点

               (3)onfocus 元素获得焦点

           (4)onclick 鼠标点击某个对象

(5)onchange 用户改变域的内容

(6)onmouseover 鼠标移动到某个元素上

(7)onmouseout 鼠标从某个元素上离开

(8)onkeyup   某个键盘的键被松开

(9)onkeydown 某个键盘的键被按下






事件流和事件模型

当产生一个事件时,该事件会在元素节点与根节点之间按照特定的顺序传播,路径所进过的节点都会受到该事件,这个传播过程称为DOM事件流;

事件顺序:事件捕获   事件冒泡

DOM事件流:DMO0级事件处理程序——同一个元素的同一个事件设定一个处理程序;

 DOM2级事件处理程序——定义了两个方法,用于处理指定和删除事件处理程序的操作addEventListener()和removeEventListener(),所有的DOM节点都包含这两种方法,并且他们都接受3个参数:处理的事件名、处理程序的函数、一个布尔值。


BOM(浏览器对象模型)

Window对象是BOM的核心对象,它表示浏览器的一个实例。

Window对象方法

[if !supportLists]1)        [endif]系统对话框(1)消息框  alert()

(2)输入框 prompt()

(3)确认框confirm()

2)打开窗口    window.open()

3)关闭窗口  window.close()

4)时间函数   setTimeout()在指定的毫秒数后调用函数或计算表达式。通过返回的标识也可以cliearTimeout(id) 来清除指定函数的执行.

    setInterval() :可按照指定的周期(以毫秒计)来调用函数或计算表达式,也可根据返回的标识用来结束。该方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。






Window对象属性

Histroy对象:history 对象是历史对象。包含用户(在浏览器窗口中)访问过的 URL。history 对象是window 对象的一部分,可通过 window.history 属性对其进行访问。

history 对象的属性:length,返回浏览器历史列表中的 URL 数量。

history 对象的方法:

back():加载 history 列表中的前一个 URL。

forward():加载历史列表中的下一个 URL。当页面第一次访问时,还没有下一个 url。

go(number|URL):

URL 参数使用的是要访问的 URL。而 number 参数使用的是要访

问的 URL 在 History 的 URL 列表中的相对位置。go(-1),到上一个页面。



Location对象

location 对象是 window 对象之一,提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。也可通过 window.location 属性来访问。

location 对象的属性 href:设置或返回完整的 URL

location 对象的方法

reload():重新加载当前文档。

replace():用新的文档替换当前文档。



Doucument对象

每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。Document 对象是 Window 对象的一部分,也可通过 window.document 属性对其进行访问。

document 对象的 body 属性,提供对<body>元素的直接访问,cookie 属性,用来设置或返回与当前文档有关的所有 cookie,write()方法,向文档写 HTML 表达式或 JavaScript 代码。还有其他属性和方法。

DOM——document object model 文档对象模型

dom 提供了用程序动态控制 html 接口。DOM 即文档对象模型描

绘了一个层次化的节点树,运行开发人员添加、移除和修改页面的某一部分。dom 处于javascript 的核心地位上。


节点

加载 HTML 页面时,Web 浏览器生成一个树型结构,用来表示页面内部结构。DOM 将这种树型结构理解为由节点组成,组成一个节点树。

文档节点  文档本身  整个文档 document

元素节点  所有的 HTML 元素  、<div>、<p>

属性节点  HTML元素内的属性 id、href、name、class

文本节点  元素内的文本 hello

注释节点  HTML中的注释 


获取节点

在进行增、删、改的操作时,都需要指定到一个位置,或者找到一个目标,此时我们就可以通过 Document 对象提供的方法,查找、定位某个对象(也就是我们说的点)。

注意:操作 dom 必须等节点初始化完毕后,才能执行。处理方式两种:

(1)把 script 调用标签移到 html 末尾即可;

(2)使用 onload 事件来处理 JS,等待 html 加载完毕再加载 onload 事件里的 JS。

window.onload =

function () { //预加载 html 后执行};

获取方法:

getElementById()  根据 id 获取 dom 对象,如果 id 重复,那么以第一个为准

getElementsByTagName()  根据标签名获取 dom 对象数组

getElementsByClassName()  根据样式名获取 dom 对象数组

getElementsByName()  根据 name 属性值获取 dom 对象数组,常用于多选获取值。


创建节点:

createElement() 创建一个新的节点,需要传入节点的标签名称,返回创建的元素对象

createTextNode()创建一个文本节点,可以传入文本内容

innerHTML 也能达到创建节点的效果,直接添加到指定位置了。


插入节点:

write()  将任意的字符串插入到文档中

appendChild() 向元素中添加新的子节点,作为最后一个子节点

insertBefore() 向指定的已有的节点之前插入新的节点

newItem:要插入的节点

exsitingItem:参考节点

需要参考父节点


间接查找节点:

childNodes () 返回元素的一个子节点的数组

firstChild() 返回元素的第一个子节点

lastChild() 返回元素的最后一个子节点

nextSibling  返回元素的下一个兄弟节点

parentNode  返回元素的父节点

previousSibling  返回元素的上一个兄弟节点





替换节点:

replaceChild(newNode,oldNode)  用新的节点替换旧的节点


克隆节点:

cloneNode()  复制节点


删除节点:

removeChild()  从元素中移除子节点




属性操作

在操作 DOM 对象时,除了可以操作对象整体之外,还可以更加灵活地操作对象中的各个属性。

getAttribute()  返回指定元素的属性值

getAttributeNode()  返回指定属性节点

element.id  设置或者返回元素的 id

setAttribute()  设置或者改变指定属性并指定值

setAttributeNode()  设置或者改变指定属性节点

element.style  设置或返回元素的样式属性

element.className  设置或返回元素的 class 属性

element.classList  返回元素的类名

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,473评论 1 11
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,613评论 0 7
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,096评论 0 21
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,422评论 1 3
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,093评论 0 3