首页 前端知识 JQuery中的事件对象

JQuery中的事件对象

2024-04-08 11:04:16 前端知识 前端哥 719 582 我要收藏

区别:target**,currentTarget****,relatedTarget:**

//通过 event.target 获取触发事件的 DOM 元素

$(‘input’).click(function (e) {

alert(e.target);

});

//relatedTarget获取临近元素

//获取移入到 div 之前的那个 DOM 元素

$(‘div’).mouseover(function (e) {

alert(e.relatedTarget);

});

//获取移出 div 之后到达最近的那个 DOM 元素

$(‘div’).mouseout(function (e) {

alert(e.relatedTarget);

});

//获取绑定的那个 DOM 元素,相当于 this,区别与 event.target

$(‘div’).click(function (e) {

alert(e.currentTarget);

});

PS:event.target 得到的是触发元素(比如点击事件,即具体点击的那个元素)的 DOM,event.currentTarget 得到的是监听元素(即绑定的那个元素)的DOM。相当于this, this 也是得到监听元素的 DOM。

//result获取上一次相同事件的返回值

$(‘div’).click(function (e) {

return ‘123’;

});

$(‘div’).click(function (e) {

alert(e.result);

});

//which获取鼠标的左中右键

$(‘div’).mousedown(function (e) {

alert(e.which);

});

//which获取键盘的按键

$(‘input’).keyup(function (e) {

alert(e.which);

});

//获取触发元素鼠标当前的位置

$(document).click(function (e) {

alert(e.screenY+ ‘,’ + e.pageY + ‘,’ + e.clientY);

});

PS:pageX和pageY获取的是距离页面原点的位置;screenX和screenY获取的是距离显示屏的位置;clientX和clientY获取的是距离页面视口的距离。在没有滚动条的时候,pageY和clientY在数值上是一样的。当有滚动条的时候,pageY会明显变大,因为它是相对于页面原点。

二.冒泡和默认行为

阻止冒泡:

如果在页面中重叠了多个元素, 并且重叠的这些元素都绑定了同一个事件, 那么就会出现冒泡问题。

示例:

**//HTML **页面

1


2
3

1 //三个不同元素触发事件
2
3 $(‘input’).click(function () {
4
5 alert(‘按钮被触发了!’);
6
7 });
8
9 $(‘div’).click(function () {
10
11 alert(‘div 层被触发了!’);
12
13 });
14
15 $(document).click(function () {
16
17 alert(‘文档页面被触发了!’);
18
19 });

PS:当我们点击文档的时候,只触发文档事件;当我们点击 div 层时,触发了 div 和文档两个;当我们点击按钮时,触发了按钮、div 和文档。触发的顺序是从小范围到大范围。这就是所谓的冒泡现象,一层一层往上。

jQuery 提供了一个事件对象的方法:event.stopPropagation();这个方法设置到需要触发的事件上时,所有上层的冒泡行为都将被取消。

$(‘input’).click(function (e) {

alert(‘按钮被触发了!’);

** e.stopPropagation();**

});

阻止默认行为:

网页中的元素,在操作的时候会有自己的默认行为。比如:右击文本框输入区域,会弹出系统菜单、点击超链接会跳转到指定页面、点击提交按钮会提交数据。

//阻止超链接进行跳转

$(‘a’).click(function (e) {

** e.preventDefault();**

});

//禁止提交表单跳转(注意是在form上阻止)

$(‘form’).submit(function (e) {

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

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

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

img

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

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

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

最后

技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。有需要面试题资料的朋友点击这里可以领取。


技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。有需要面试题资料的朋友点击这里可以领取。

[外链图片转存中…(img-VIS6U4Ta-1712939767273)]

转载请注明出处或者链接地址:https://www.qianduange.cn//article/4603.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!