Week4-JavaScript
1.事件
1.鼠标事件
鼠标触发:click 鼠标点击 mouseenter 鼠标经过 mouseleave 鼠标离开
2.焦点事件
有焦点触发:focus 焦点不触发:blur
3.键盘事件
键盘按下触发:keydown 键盘抬起触发:Keyup
2.事件对象:
1.事件对象是什么:也是个对象,这个对象有事件触发时的相关信息 例如:鼠标点击事件中,事件对象就存了鼠标点在哪个位置这个信息
2.获取事件对象:在事件绑定的回调函数的第一个函数就是事件对象
部分常用属性:type:获取当前事件类型 clientX/clientY:获取光标相对于浏览器可见窗口左上角的位置 offsetX/offsetY:获取光标相对于当前DOM元素左上角的位置 key:用户按下的键盘键上的值
3.环境对象:
1.指的是函数内部特殊的变量this,他代表当前函数运行是所处的环境
2.函数的调用方式不同,this指代的对象就不同 谁调用,this就是谁,是判断this指向的粗略规则
4.回调函数:
1.如果将函数A作为参数传递给函数B时,我们称函数A为回调函数
2.
5.事件流:
事件流指的是事件完整执行过程中的流动路径
1.事件捕捉:从DOM的根元素开始去执行对应的事件(从外到里)
2.事件冒泡:从对应的事件开始执行到DOM的根元素
3.阻止事件冒泡:因为默认有冒泡模式的存在,所以容易导致事件影响到父级元素,若想把事件限制在当前元素内,就需要阻止事件冒泡 前提:阻止事件冒泡需要拿到事件对象 语法:事件对象.stopPropagation() 此方法可以阻断事件流动传播,不光在冒泡阶段有效,捕获阶段也有效 1
事件解绑:
鼠标经过事件的区别:
mouseover(鼠标经过) 和 mouseout(鼠标离开) 会有冒泡效果
mouseenter(鼠标经过) 和 mouseleave(鼠标离开) 没有冒泡效果(推荐)
6.事件委托:
事件委托可以减少注册的事件数,可以提高程序性能 原理:利用事件冒泡的特点,给父元素注册事件,当我们触发子元素时,会冒泡到父元素身上,从而触发父元素身上的事件
7.阻止元素默许行为

阻止冒泡:事件对象.stopPropagation() 阻止元素默认行为:e.preventDefault()
8.其他事件:
1.页面加载事件:加载外部资源(如图片,外联CSS和JavaScript等)加载完毕时触发的事件
事件名:load
当初始的HTML文档被完全加载和解析完成之后,DOMContentLoaded事件被触发,而无需等待样式表、图像等完全加载
事件名:DOMContentLoaded
2.元素滚动事件:滚动条在滚动时持续触发的事件
事件名:scroll,监听整个页面滚动 scrollTop:相对顶部滑动的像素数
3.页面尺寸事件:会在窗口尺寸改变时触发事件:resize
获取元素可见部分宽高:clientWidth和clientHeight
9.元素的尺寸和位置
获取宽高:获取元素自身的宽高,包含元素自身设置的宽高、padding、border
offsetWidth和offsetHeight
获取元素距离自己定位父级元素的左、上距离
offsetLeft和offsetTop为只读属性
10.日期对象
用来表示时间的对象,可以得到当前的系统时间
1.实例化:在代码中出现了new关键字时,一般将这个操作称为实例化
2.日期对象方法:

时间戳:倒计时计算,时间戳是指1970年01月01日00时00分00秒起至现在的毫秒数
算法:将来的时间戳 - 现在的时间戳 = 剩余时间毫秒数

11.节点操作:
DOM节点:DOM树里面的每个内容都是节点
分类:元素节点——比如div标签 属性节点——比如class属性 文本节点——比如标签里面的文字
查找节点:parentNode(父节点) childNodes(子节点)
children属性(重点) 仅获得所有元素节点,返回伪数组 父元素.chilidren
追加节点

克隆节点:元素.cloneNode(布尔值)

删除节点:

12.M端事件:

13.插件:
14.BOM和延迟函数
BOM:浏览器对象类型(BOM包含DOM)

延迟函数:JavaScript内置一个让代码延迟执行的函数,为setTimeout


更多推荐


所有评论(0)