js this 和 event 的区别
2024-08-24 05:39:27
今天在看javascript入门经典-事件一章中看到了 this 和 event 两种传参形式。因为作为一个初级的前端开发人员平时只用过 this传参,so很想弄清楚,this和event的区别是什么,什么情况下用什么比较合适。
onclick = changeImg(this) vs onclick = changeImg(event)
<img src='usa.gif' onclick="changeImg(event)" />
<script>
var myImages = [
'usa.gif','canada.gif','jamaica.gif','mexico.gif'
];
function changeImg(e) {
var el = e.target;
var newImgNumber = Math.round(Math.round()*3);
while(el.src.indexOf(myImages[newImgNumber]) != -1){
el.src =myImages[newImgNumber];
}
}
</script>
this是Javascript语言的一个关键字。
this代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
this和event.target的区别:
js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化(在事件触发时,只传递当前event对象的引用),它永远是直接接受事件的目标DOM元素;
另外,this和event.target都是dom对象,如果要使用jquey中的方法可以将他们转换为jquery对象:$(this)和$(event.target);
今天(2017/12/06)发现了更详细的讲解,有使用过程中的详细介绍,需要的小伙伴们可以自行查看:jquery 关于event.target使用的几点说明介绍
最新文章
- VS2010中dll不可用问题
- 解决web中的乱码
- JavaScript深入浅出2-表达式和运算符
- [转]JVM内存堆布局图解分析
- [ACM_搜索] ZOJ 1103 || POJ 2415 Hike on a Graph (带条件移动3盘子到同一位置的最少步数 广搜)
- Eclipse使用Jetty(转)
- branch
- VS2015安装开发ios android
- Pawn Brotherhood
- JAVA网络编程-----TCP沟通
- Appium Android Bootstrap源码分析之简介
- 你有什么理由还不选择阿里云服务器呢--从阿里云发布自研商用关系型数据库POLARDB想到的
- 在docker上部署mysql
- Java编程思想 学习笔记2
- MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
- 萌新程序媛的首个作品,基于NoSQL的内容管理及低码开发平台
- [转载]Ubuntu下Git服务器安装与配置
- 在vue中子组件修改props引发的对js深拷贝和浅拷贝的思考
- C# 特性(Attribute)(一)
- Django学习笔记 Django的工程目录