小工具知识网

当前位置: 首页 > 行业知识 > JavaScript常用事件集合,前端小白必备(写的很详细,建议收藏)

行业知识

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

2026-11-09 12:10:52 来源:互联网转载

mousemove

鼠标双击事件

双击事件

鼠标悬浮事件

悬浮显示p

原有文字

键盘事件

2.1 鼠标悬浮事件

let btn= $my(“btn”);

let p2 = $my(“p2”);

// 鼠标悬浮事件

btn.onmouseover = function(){

p2.style.display = “block”;

}

// 鼠标离开事件

btn.onmouseout = function(){

p2.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文件代码如下(记得先复制这个)

事件冒泡

p的文本

我是段落标签

事件委托

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

      4.1 阻止事件冒泡

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

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

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

        function pFn(e){

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

        }

        function pFn(e){

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

        window.event ?

        window.event.cancelBubble = true :

        // 阻止事件冒泡

        e.stopPropagation();

        }

        4.2 事件委托

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

        • 举两个例子:

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

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

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

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

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

            for (var i=0;i

            aLi[i].onmouseover = function() {

            this.style.background = ‘orange’;

            }

            aLi[i].onmouseout = function(){

            this.style.background = ‘’;

            }

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

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

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

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

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

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

            最后

            资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!

            自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

            [外链图片转存中…(img-K8cIOBMm-1712122004098)]

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

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

            最后

            [外链图片转存中…(img-TgKbzjKM-1712122004099)]

            [外链图片转存中…(img-bb8SX3eF-1712122004099)]

            资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!

            自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

    上一篇:重点课英文怎么写?

    下一篇:莫顿码(Morton code)介绍