JavaScript常用事件集合,前端小白必备(写的很详细,建议收藏)

mousemove

鼠标双击事件

<button

id=“dbBtn”

οndblclick=“dbFn()”

οnclick=“clickFn()”>双击事件

鼠标悬浮事件

悬浮显示div

原有文字

键盘事件

2.1 鼠标悬浮事件

let btn= $my(“btn”);

let div2 = $my(“div2”);

// 鼠标悬浮事件

btn.onmouseover = function(){

div2.style.display = “block”;

}

// 鼠标离开事件

btn.onmouseout = function(){

div2.style.display = “none”;

}

此处的 $my() 已经进行过封装,这样很方便,代码如下:

function $my(id){

return document.getElementById(id);

}

2.2 点击事件

let timeId = null;

// 单击事件

function clickFn(){

clearTimeout(timeId);

timeId = window.setTimeout(function(){

console.log(“单击事件”);

}, 500)

}

// 双击事件

function dbFn(){

clearTimeout(timeId)

console.log(“双击事件”)

}

2.3 常用的回车事件

// 键盘事件

function keyFn(event){

console.dir(event);

}

// 监听窗口回车事件

document.onkeyup = function(event){

console.log(event.keyCode);

if(event.keyCode === 13){

alert(“回车事件”)

}

}

在这里插入图片描述

3. 获取浏览器类型,手机机型(容易出问题的地方)


3.1 获取浏览器类型

let userAgent= navigator.userAgent;

console.log(userAgent);

if (userAgent.indexOf(“Opera”) > -1) { // 判断是否是Opera浏览器

console.log(“Opera”);

};

if (userAgent.indexOf(“Firefox”) > -1) { // 判断是否是Firefox浏览器

console.log(“Firefox”);

}

if (userAgent.indexOf(“Chrome”) > -1) { // 判断是否是Chrome浏览器

console.log(“Chrome”);

}

if (userAgent.indexOf(“Safari”) > -1) { // 判断是否是Safari浏览器

console.log(“Safari”);

}

if (userAgent.indexOf(“compatible”) > -1 && userAgent.indexOf(“MSIE”) > -1) {

console.log(“IE”); // 判断是否是IE浏览器

};

3.2 判断手机机型(移动端解决兼容问题常用)

// 检测机型 安卓还是苹果

function getAdr(){

//获取机型信息

let type = navigator.userAgent;

let isAndroid = type.indexOf(“Android”) > -1 ||

type.indexOf(“Adr”) > -1;

return isAndroid;

}

console.log(getAdr()); // true为安卓 false为苹果

4. 事件冒泡与事件委托(面试重点)


HTML文件代码如下(记得先复制这个

事件冒泡

div的文本

我是段落标签

事件委托

    • 1
    • 2
    • 3
    • 4
    • 增加一个li

      4.1 阻止事件冒泡

      • 事件冒泡:当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window

      • 显然,这是错误的,需要做处理(就像儿子都成年了,做错了事,凭什么找老子?

      // 如果不做处理,点击p标签时会触发div的点击事件

      function divFn(e){

      console.log(“div被点击了”);

      }

      function pFn(e){

      console.log(“段落被点击了”);

      window.event ?

      window.event.cancelBubble = true :

      // 阻止事件冒泡

      e.stopPropagation();

      }

      在这里插入图片描述

      4.2 事件委托

      • 事件委托:把一个元素响应事件(点击事件、悬浮事件等等)的函数委托给另一个元素

      • 举两个例子:

      • 隔壁老王和老婆分手了,所以只能委托我去爱她老婆(好坏哦~)

      • 放公司的快递到了,因为我请假爱老王老婆去了,所以只能委托前台签收一下

      • 在JS中,这是一种好的处理方式:大大的减少dom操作,提升性能

      不用事件委托,你得这么处理:

      • 循环添加事件,显然,这是很蠢的

      for (var i=0;i<aLi.length;i++) {

      aLi[i].onmouseover = function() {

      this.style.background = ‘orange’;

      }

      aLi[i].onmouseout = function(){

      this.style.background = ‘’;

      }

      自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

      深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

      因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

      img

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

      由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

      如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

      最后

      文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

      [外链图片转存中…(img-r0xaXgS1-1713504618264)]

      由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

      如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

      [外链图片转存中…(img-fqnDH3yJ-1713504618264)]

      最后

      文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

      [外链图片转存中…(img-RUZUejip-1713504618265)]

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值