一名前端工程师的自学之路!Js篇(02-26更新)

2018-02-26  本文已影响17人  自律更自由

18年的第一个月,我是要在bug的海洋里遨游了,大家是怎么样的呢~ 哈哈, 好了接下来,开始更新了。

事件流

当触发某个事件时(某个事件发生了),从子元素向父级元素触发 或 从父级元素向子元素触发的过程 ,这个过程 称为事件流

事件流有两种模式:

事件冒泡:从子元素向父级元素触发 small --- big ---body --- document -- window

事件捕获:从父级元素向子元素触发 window --- document --- body --- big --- small

事件冒泡

当子元素触发某个事件时,同样的事件回向父级元素触发,这个过程称之为事件冒泡

阻止事件冒泡

兼容写法:

e.stopPropagation?e.stopPropagation():e.cancelBubble=true;

事件绑定

事件绑定: 如何为元素添加一个事件

1、在标签上写事件名称

2、通过 对象.事件 = function(){ .... } ,写在script标签内部的

3、同过 addEventListener() 方法

事件监听

通过 addEventListener 方法为元素添加事件 称为事件的监听

事件监听好处:

可以为同一个元素添加多个同样事件

为同一个元素添加多个同样事件时,执行顺序从上到下顺序执行。

事件监听用法:

对象.addEventListener("事件",function(){},true/false) --- 高版本浏览器

说明:

第一个参数: 监听的事件 这里的事件没有on

第二个参数: 事件处理程序

第三个参数: 是一个布尔值 true表示 事件的捕获 false 表示事件的冒泡 (默认是false)

对象.attachEvent("事件",事件处理程序) ---- 低版本浏览器

说明:

第一个参数: 监听的事件 这里的事件有on

第二个参数: 事件处理程序

冒泡和捕获的执行顺序

当同一个元素既有事件冒泡和事件捕获时,先执行捕获 ; 后执行冒泡

事件委托

委托:让别人去做

事件委托:把某个事件委托给别人去做

委托的好处:

当某些元素具有同样的事件时,为了提高程序的执行效率,可以把这些元素的事件加到他们的父级元素上。

委托实现方式:

1、 父级元素.事件 = function(){ ... }

2、 通过事件监听方法 addEventListener 实现

父级元素.addEventListener("事件",function(){ .... })

委托实现时,获取事件源的属性: e.target || e.srcElement

委托实现原理: 利用事件冒泡的机制,将某些元素的事件添加到父级元素上

委托对事件的限制: 不是所有的事件都可以实现委托,例如下面的事件一般不需要委托 (onclick一般用委托实现的比较多)

onload onfocus onblur ....

注意的问题

button标签 在 form中相当于 submit按钮,会刷新页面

超链接

阻止超链接的跳转功能

超链接

超链接

json对象

json全称:javascript object notation

中文含义: javascript 对象表示法

定义:json是一种轻量级的数据交换对象

作用: 存储数据

json对象定义:

var j = { }

{} 里面数据的组成格式: 键值对 , 键和值之间用冒号,每一个键值对之间用 逗号 间隔, 所有的键必须用 双引号引起来。

键对应的值 可以是任意类型

例如:

var j = { "name": "小明" , "age":18 , "tel":"13999999999" }

json对象的操作:

赋值:

定义时直接赋值

动态为json对象赋值 j.addr = "beijing";

取值:

json对象.键名

json对象["键名"]

json对象的遍历 : for...in

欢迎大家持续关注。号内有多个专题,小程序(持续更新中),Javascript(持续更新),Vue(视频)等学习资源。觉得有收获的可以收藏关注,欢迎骚扰,一起学习,共同进步。

我的小程序,自律更自由,如果你也喜欢锻炼的话在这里寻找你的小伙伴吧。

一只喜欢锻炼的程序猿,嘿嘿。

你都看到这了,不点个关注就过分了哈~

上一篇下一篇

猜你喜欢

热点阅读