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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐