JS事件监听

事件监听

语法

元素对象.addventListener('事件类型',要执行的函数)
  • 事件监听三要素
    • 事件源
    • 事件类型
    • 事件调用的函数
元素对象.addventListener('事件类型',要执行的函数)
    <script>
        // 数据数组
        const arr = ['马超', '黄忠', '赵云', '关羽', '张飞']
        let n
        let random
    

        // 获取元素
        const span = document.querySelector('div .qs')
        console.log(span);
        const start = document.querySelector('.start')
        const end = document.querySelector('.end')

        // 渲染内容
        function runs(){
            n = setInterval(function () {
                // 随机函数
                function getRandom(m,n) {
                    return Math.floor(Math.random()*(n-m+1)+m)  
                }
                random = getRandom (0,arr.length-1)    
                span.innerHTML = arr[random]
            },100)

            if(arr.length == 1) {
                start.disabled=true
                end.disabled=true
            }
        }
        function rune() {
            clearInterval(n)
            arr.splice(random,1)
        }
        start.addEventListener('click',runs)
        end.addEventListener('click',rune)


数组中删除元素

arr.splice(random,1)

按钮禁用

start.disabled=true

事件类型

  • 鼠标事件

    • click 鼠标点击
    • mouseenter 鼠标经过
    • mouseleave 鼠标离开
  • 焦点事件

    • focus 获得焦点
    • blur 失去焦点
      <input type="text">
          <script>
                  const input = document.querySelector('input');
                  input.addEventListener('focus',function () {
                          alert('被触发了')
                  })
          </script>
      
  • 键盘触发

    • keydown 键盘按下触发
    • keyup 键盘抬起触发
  • 文本事件

    • input 用户输入事件

事件对象

事件对象存储了事件触发时的相关信息

属性选择器

const input = document.querySelector('[type="search"]');

关闭效果

list.style.display = 'none';

focus选择器

    input {
        width: 100px;
        transition: .3s;
    }
    input:focus{
      width: 300px;
     }

trim方法

去除前后空格

input.value.trim()!
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值