web day6 笔记

事件监听

         事件:系统内放生的动作或者发生的事情

事件监听语法:

获交事件:focus

a.addEventlistener(’事件类型’,功能函数(e){

         alert(‘’) 警示框

         e.stopPropagation() 阻止事件流动

e.preventDefault() 阻止默认行为

},true/false/  )

         事件委托

         e.target 判断点击的是哪一个

        

键盘事件

事件类型 keyup

         Document.addEventlistener(‘keyup’,function(e){

                   e.key (显示对应按下的键)

                   if(e.key === ‘a’)

                            alert(‘sss’)

})

事件绑定

a.οnclick=function(){

         alert(‘’)

}

事件解绑

a.οnclick=null

        

         window事件

         window,οnlοad=function(){}当文档加载时运行脚本

        

         鼠标经过移出

项目

Value

click

单击鼠标左键时发生,如果右键也按下则不会发生。当用户的焦点在按钮上并按了 Enter 键时,同样会触发这个事件

dblclick

双击鼠标左键时发生,如果右键也按下则不会发生

mousedown

单击任意一个鼠标按钮时发生

mouseout

鼠标指针位于某个元素上且将要移出元素的边界时发生

mouseover

鼠标指针移出某个元素到另一个元素上时发生

mouseup

松开任意一个鼠标按钮时发生

mousemove

鼠标在某个元素上时 持续 发生

      

   排他思想

         先干掉其他的,在给自己加

           let btns = document.querySelectorAll('button')

        for (let i = 0; i < btns.length; i++) {

            btns[i].addEventListener('click', function () {

                // 先干掉其他的,再给自己添加

                document.querySelector('.pink').classList.remove('pink')

                btns[i].classList.add('pink')

            })

        }

         Eventloop js执行机制

         单线程的

         同步任务:按代码顺序执行的  主线程排队执行的任务

         异步任务:定时器,ajax  进入任务队列的任务

         同步任务执行完毕之后,才会去任务队列查看有无异步任务

        

         查找节点

         son.parentNode 查找父节点

         father.children 查找儿子节点

         father.chileNode 查找儿子节点但会查找节点文本空格……

        

         追加节点

                   创建节点

                  let li = document.createElement(‘li’)

                   li里加东西

                   li.innerHTML = `daklfdsf`

                   追加节点

                  ul.appendChild(li)

        

         克隆节点

a.cloneNode(true/flase) 包含后代节点/不包含后代节点(默认)

源节点改变克隆的也变

         删除节点

                   父.Remove(子)

         三大家族

scrollTop:可读写的   不带单位

offset  家族   只读

document.documentElement

         正则表达式

                   //字面量声明

字面量创建的正则表达式不识别变量

//new

New regexp(a,’g’)

        

         Settimeout

                  setTimeout()是延时器,setInterval()是定时器。setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次,而setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式 

         this指向

         1>独立调用,this指向window

谁调用,只想谁

    2>对象里,this指向对象,包括构造函数

3>this丢失现象

4>构造函数中,this指向new出来的对象本身   

5>call、apply、bind改变this指向

6>js事件中,this指向问题

1、直接把时间是用html属性的方式进行绑定

2、a.οnclick=function      this指向事件源           

3、事件监听   指向事件源   注意   ie的eattachevent监听事件,this指向window

7>箭头函数   lambda表达式      默认没有this。向上沿着作用域链进行查找取决于函数创建的时候

8>定时器中指向window

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值