JS-事件

JS-事件

什么是事件

事件是在编程时系统内发生的动作或者发生的事情
比如一个用户在网页上单击一个按钮

什么是事件监听

就是让程序检测是否有事件产生,一旦有事件触发,就会立即调用一个函数做出响应,也称为 注册事件

语法

元素.addEventListener(‘事件’,要执行的函数)

事件监听的三要素

1.事件源:哪个DOM元素被事件触发了,要获取DOM元素
2.事件:用什么方式触发,比如鼠标单击click,鼠标经过mouseover等
3.事件调用函数:要做什么事

注意

1.事件类型要加引号
2.函数是点击之后再去执行,每次点击都会执行一次
例如:

//获取元素
let btn=document.querySelector('button');
//注册事件
btn.addEventListener('click',function(){
    alert('被点击了');
})
常见事件类型
鼠标事件

鼠标触发:
click 鼠标点击
mouseenter 鼠标经过
mouseleave 鼠标离开

焦点事件

表单获取光标:
focus 获取焦点
blur 失去焦点

键盘事件

键盘触发:
keydown 键盘按下触发
keyup 键盘抬起触发

文本事件

表单输入触发:
input 用户输入事件

微博输入案例
<div class="w">
        <div class="controls">
            <textarea placeholder="说点什么吧" id="area" cols="30" rows="10"
            maxlength="200"></textarea>
            <div>
                <span class="useCount">
                    0
                </span>
                <span>/</span>
                <span>200</span>
                <button id="send">发布</button>
            </div>
        </div>
</div>

在这里插入图片描述

通过事件来监听输入的内字符个数

        //获取元素
        let area=document.querySelector('#area');
        let useCount=document.querySelector('.useCount');
        //注册事件
        area.addEventListener('input',function(){
            //获取文本字符长度
            useCount.innerHTML=area.value.length;
        })

在这里插入图片描述

购物车加减案例
<div>
    <input type="text" id="total" value="1" readonly>
    <input type="button" id="add" value="+" >
    <input type="button" id="reduce" value="-" disabled>
</div>

在这里插入图片描述

通过事件监听来进行加减

//获取
    let total=document.querySelector('#total');
    let add=document.querySelector('#add');
    let reduce=document.querySelector('#reduce');
    //监听加减号
    add.addEventListener('click',function(){
        total.value++
        reduce.disabled= false
    })
    reduce.addEventListener('click',function(){
        total.value--
        if(total.value<=0){
            reduce.disabled= true
        }
    })

在这里插入图片描述

高阶函数

高阶函数可以被简单地理解为函数的高级应用,JavaScript中函数可以被当成 值 来对待,基于这个特性实现函数的高级应用
值 就是JavaScript中的数据,比如值、字符串、布尔、对象等

函数表达式
let fun=function(x,y){
    return x+y
}
let result=fun(1,2)
console.log(result)

在这里插入图片描述

回调函数

如果将函数A作为参数传递给函数B时,我们成函数A为回调函数
简单理解:当一个函数当作参数来传递给另外一个函数的时候,这个函数就是回调函数

常见的应用场景
function fun(){
    console.log("我是一个回调函数")
}
//setIntervalue(function(){},时间) 间歇函数
setIntervalue(fn,1000)

环境对象

环境对象指的是函数内部特殊的变量this,他代表着当前函数运行时所处的环境
作用:弄清楚this的指向,可以让我们的代码更加简洁

首先了解一下函数内部的this指向谁

function fun(){
    console.log(this);
}
fun();

在这里插入图片描述

因此我们可以了解到 环境对象 this 他就是一个对象

this指向问题

1.函数的调用方式不同,this指向的对象也不同
2.[谁调用,this就是谁] 是判断的 this 指向的粗略规则

例如通过点击按钮来确定this指向
<button>点击</button>
    <script>
        let btn=document.querySelector('button')
        btn.addEventListener('click',function(){
            console.log(this);
        })
    </script>

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值