day 52 dom 事件
本文转载自cnblog.liwenzhou.com
官网资料:
http://www.w3school.com.cn/htmldom/dom_methods.asp
事件的内容很重要的,基本概念有点类似于我们的mysql里面的触发器,我们通过给html增加一些关联,让js代码可以与之关联上,然后跟用户实现交互,让用户有更好的体验效果,让页面的功能更加强大,这里需要用到函数的用法,来与之进行关联,然后实现触发的效果.就是写好一个功能封装到一个函数里面然后一旦用户触发了页面上的一些按钮就会调用函数然后呈现出我们后台代码设计的一些效果.这里就是事件的大概功能以及概念.
day53
1.前情回顾
1. BOM
window
location.href = "https://www.sogo.com"
location.reload() // 重新加载当前页
location.href
DOM
document
1. 节点分为:
文档节点 document
文本节点 标签的文本
属性节点 id, class ...
标签节点 div,span, h1 ...
2. 寻找节点
1. 基本查找
标签名:document.getElementsByTagName
ID: document.getElementByID
class名: document.getElementsByClassName
2. 间接查找
我的上一个标签: previousElementSibling
我的下一个标签: nextElementSibling
我的父标签: parentElement
我的子标签: children
我的第一个子标签:firstElementChild
我的最后一个子标签:lastElementChild
2. 修改标签属性或样式
1. 修改文本信息
ele.innerText 获取文本节点的内容(包括子标签的文本)
ele.innerText="字符串" 修改标签的文本信息
2. 文档内容(HTML内容)
ele.innerHTML 获取文档内容
ele.innerHTML=“<h1>好</h1>” 赋值HTML内容
3. 修改样式
1. classList
ele.className 获取所有的class类名(字符串类型)
ele.classList 获取所有的class类名
ele.classList.contains(cls) 判断有没有某个class
ele.classList.add(cls) 添加一个class类名
ele.classList.remove(cls) 删除class类名
ele.classList.toggle(cls) 切换(有就删除,没有就添加)
2. ele.style.样式=""
注意:有中横线的CSS样式要转成驼峰形式
ele.style.backgroundColor="red"
4. 属性
ele.attributes 获取所有的属性信息
2. RegExp(正则) 求学要严谨
1. 正则表达式不能加空格
2. 当你设置了全局的g标志位,需要注意lastIndex --> 每一次匹配上之后会把lastIndex设置为下一位索引值
3. undefined他帮你转成"undefined"来做正则校验
3. 今日内容
1. 作业讲解+自定义模态框练习
2. 事件
常用事件:
onfocus()
onblur()
onchange()事件 --> select联动的例子
1. selectEle.selectedIndex --> 获取当前选中的option的索引值
2. selectEle.options --> 获取所有的option选项
3. selectEle.options.length=0 --> 清空所有的option选项
键盘事件 --> jQuery讲个示例
绑定事件的方式: *****
1. 在标签里面直接写on动作=func();
2. 通过JS代码绑定事件 ele.click=function(){alert(123);}
3. 基于已经存在的父标签来给子标签绑定事件, --> 事件委托的方式
3. 文档标签的创建
引申出来的:
script标签一般写在body标签的最下面,除非是文档加载之前就要运行的代码要放在head标签里 *****
4. 今日作业
1. 模态框里面的提交按钮要绑定事件
1. 取值(通过 input标签.value 就能取值)
2。 拿到值之后 拼接处一个tr标签
3. tbody.appendChild(上面创建的tr标签)
2. 删除按钮的事件
1. 根据删除按钮找到当前行的tr
2. 从tbody里面删掉这个tr (removeChild())
抽屉作业
事件
HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。
onclick 当用户点击某个对象时调用的事件句柄。
ondblclick 当用户双击某个对象时调用的事件句柄。 onfocus 元素获得焦点。 // 练习:输入框
onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动) onkeydown 某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress 某个键盘按键被按下并松开。
onkeyup 某个键盘按键被松开。
onload 一张页面或一幅图像完成加载。
onmousedown 鼠标按钮被按下。
onmousemove 鼠标被移动。
onmouseout 鼠标从某元素移开。
onmouseover 鼠标移到某元素之上。 onselect 在文本框中的文本被选中时发生。
onsubmit 确认按钮被点击,使用的对象是form。
innerText 文本
innerHTML HTML内容
value 值
createElement(name) 创建节点(标签)
appendChild() 末尾添加节点,并返回新增节点
insertBefore() 参照节点之前插入节点,两个参数:要插入的节点和参照节点
删
查找到要删除的元素
获取它的父元素
使用removeChild()方法删除
改
第一种方式:
使用上面增和删结合完成修改
第二种方式:
使用setAttribute();方法修改属性
使用innerHTML属性修改元素的内容
day 52 dom 事件的更多相关文章
- 走进javascript——DOM事件
DOM事件模型 在0级DOM事件模型中,它只是简单的执行你为它绑定的事件,比如你为某个元素添加了一个onclick事件,当事件触发时,它只是去调用我们绑定的那个方法,不再做其他的操作. 在2级DOM事 ...
- DOM 事件深入浅出(二)
在DOM事件深入浅出(一)中,我主要给大家讲解了不同DOM级别下的事件处理程序,同时介绍了事件冒泡和捕获的触发原理和方法.本文将继续介绍DOM事件中的知识点,主要侧重于DOM事件中Event对象的属性 ...
- DOM 事件深入浅出(一)
在项目开发时,我们时常需要考虑用户在使用产品时产生的各种各样的交互事件,比如鼠标点击事件.敲击键盘事件等.这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果.本文 ...
- DOM事件
在慕课网上学习了DOM事件探秘课程,特此整理了一下笔记. 慕课网DOM事件探秘课程地址:http://www.imooc.com/learn/138 事件 是文档或浏览器窗口中发生的特定的交互瞬间.[ ...
- 理解DOM事件流的三个阶段
本文主要解决两个问题: 1.什么是事件流 2.DOM事件流的三个阶段 事件流之事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张 ...
- 你真的了解DOM事件么?
你真的了解DOM事件么? 我们大家都知道,人与人之间的交流可以通过语言,文字,肢体动作,面部微表情等,但是你知道Javascript和HTML之间是通过什么进行交互的么?你又知道Javascript和 ...
- [DOM Event Learning] Section 4 事件分发和DOM事件流
[DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...
- dom事件与event对象总结
1 事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间. tips:js和xhtml的交互是通过当用户或浏览器操作网页时发生的事件来处理的. 1.1 事件流:即事件的顺序. 事件 ...
- DOM事件简介--摘自admin10000
Click.touch.load.drag.change.input.error.risize — 这些都是冗长的DOM(文档对象模型)事件列表的一部分.事件可以在文档(Document)结构的任何部 ...
随机推荐
- 45)django-分页实现
Django提供了一个新的类来帮助你管理分页数据,.它可以接收列表.元组或其它可迭代的对象. 一:常用方法 >>> from django.core.paginator import ...
- 无锁编程 - Double-checked Locking
Double-checked Locking,严格意义上来讲不属于无锁范畴,无论什么时候当临界区中的代码仅仅需要加锁一次,同时当其获取锁的时候必须是线程安全的,此时就可以利用 Double-check ...
- wx.chooseImage
<view>上传图片</view> <view> <view> <button bindtap="getImg">上传图 ...
- SwipeRefreshLayout,用最少的代码定制最美的上下拉刷新样式
下拉刷新框架其实有很多,而且质量都比较高.但是在日常开发中,每一款产品都会有一套自己独特的一套刷新样式.相信有很多小伙伴在个性化定制中都或多或少的遇到过麻烦.今天我就给大家推荐一个在定制方面很出彩的一 ...
- 使用FreeRTOS进行性能和运行时分析
在MCU on Eclipse网站上看到Erich Styger在2月25日发的博文,一篇关于使用FreeRTOS进行性能和运行分析的文章,本人觉得很有启发,特将其翻译过来以备参考.当然限于个人水平, ...
- Django框架之第二篇
一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中). views:视图函数 另加urls ...
- 伪Ap接入点
1.创建一个伪造的Ap接入点,必须购买一个无线网卡的设备,接受功率在300Mbps ,低于这个传输速率的值,效果很差,都达到用户可以连接验证的效果.其芯片必须支持kali linux 内核系统. 2. ...
- spring-data-mongo的MongoTemplate开发
spring-data-mongo的MongoTemplate开发 1.在实体类Customer.Java中引入注解表明转换方式 @Document //文档 public class Custo ...
- 插件使用一表单验证一validation
jquery-validation是一款前端经验js插件,可以验证必填字段.邮件.URL.数字范围等,在表单中应用非常广泛. 官方网站 https://jqueryvalidation.org/ 源码 ...
- python字符串之split
函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(lis ...