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完整版!

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

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

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

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

      最后

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

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

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

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

    • 22
      点赞
    • 15
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    自己的一个网页开发常用效果库与框架库,可以自定义导出自己想要的部分。 1.通过帮助文档help.html查看所有效果与使用方法。 2.通过config.html配置符合你需要并导出js; 内容包含如下: A:效果库类; 1.事件-同时兼容手机与pc的3种事件(start、move、end); 2.tab选项卡-各种切换6种; 3.电商产品主图-横向与纵向2种; 4.放大镜-电商主图放大镜、图库鼠标悬停旁边出现放大版图效果各一个; 5.跑马灯-文字或图片不断档可支持鼠标悬停时停止; 6.仿alert弹窗-可以自定义样式,手机版pc版个一种; 7.列表下拉加载更多-伪数据加载与ajax异步加载个一种; 8.折叠菜单一个; 9.banner图效果-7种包含手机上支持手指滑动的; 10.时间轴-控制1种; 11.自定义滚动条-横向、纵向各一种; 12.临时禁用滚动条-禁用与启用方法各一个,也能禁用手机滚动条,同时解决px滚动条占用宽度问题。 13.图表等比例-使图片始终保持设定比例缩放等供3种不同形式; 14.回到顶部-点击回到浏览器顶部; 15.漂浮窗-小漂浮窗广告; 16.图集展示-偶尔能用到; 17.滚屏效果-手指上下滑动或鼠标滚轮滚动切换页面,可自己配一些动效!!!!!!; 18.常用表单验证; 19.左滑删除; 20.复选框全选与取消选中; 21.内容拖动!!!!!!; 22.dom输入; 23.单例定时器; 24.ios软键盘弹出fixed定位问题处理!!!!!!; B:架构类; 1.流程控制-主要解决多个ajax调用依赖问题; 2.面向对象的class方法-方便定义类与集成类; 3.require-实现模块化开发,简单实用; 提示:用!!!!!!标注结尾的在某些场景下可能出现bug;

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值