js中的触发事件对象event.srcElement与event.target详解
发布时间 - 2026-01-11 00:11:10 点击率:次介绍

IE下,event对象有srcElement属性,但是没有target属性;
Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:
firefox 下的 event.target = IE 下的 event.srcElement
解决方法
使用obj = event.srcElement ? event.srcElement : event.target;
或:var evtTarget = event.target || event.srcElement;
event.srcElement.id event.srcElement.tagname event.srcElement.type event.srcElement.value event.srcElement.name event.srcElement.classname event.srcElement.parentelement event.srcElement.getattribute event.srcElement.children event.srcElement.lastChild event.srcElement.ChildNode event.srcElement.selectedIndex
js将html的所有控件都看成是一个个对象,通过js的各个属性,就能对其进行操作处理,js里对象的整体结构是树形的结构。一层一层的追溯,即可获取需要的结果。
event.srcElement:表示的当前的这个事件源。
event.srcElement.parentNode:表示当前事件源的父节点。
parentNode:父节点,也就是上一层的节点。可以是任何一个标签。
event.srcElement.firstChild:当前事件的第一个节点,如果节点是input,通过event.srcElement.firstChild.value就可以获取此input的值。
event.srcElement.parentElement:是指在鼠标所在对象的上一个对象。
event.srcElement.children:当前节点下对象的个数,有多个的话就是个数组,如当前节点下有2个input的对象,要获取这两个可以用event.srcElement.children[0] 与 event.srcElement.children[1]分别获取。
常用如下:
1、event.srcElement.parentNode.tagName;
<div> <input type="button" value="父元素标签" onclick="alert(event.srcElement.parentNode.tagName)"> </div>
结果:DIV
第一个子标签为 event.srcElement.firstChild
最后个一个是 event.srcElement.lastChild
当然也可以用 event.srcElement.children[i] , event.srcElement.ChildNode[i]
2、event.srcElement.parentElement是指在鼠标所在对象的上一个对象
<table border=1 width="200"> <tr title="tr测试"><td onclick="alert(event.srcElement.parentElement.title)">tr</td></tr> </table>
3、event.srcElement.tagName 得到点击位置的标签名称
4、event.srcElement.title 得到当前标签title属性值
5、event.srcElement.options[event.srcElement.selectedIndex].value
例1:
<select name="selectname" onchange="alert(event.srcElement.options[event.srcElement.selectedIndex].value)" > <option value="1-">1</option> <option value="2-">2</option> <option value="3-">3</option> <option value="4-">4</option> <option value="5-">5</option> </select>
例2:
<script>
function a(){
alert("您点击的标记是:" + event.srcElement.tagName)
}
</script>
<body onclick="a()">
点鼠标测试<br> //BODY
<input value='test input'/> //INPUT
<a href=#>test</a> //A
<div>测试div</div> //DIV
<p>测试p</p> //P
<span>测试span</span><br /> //SPAN
<div>
<a href="/" rel="external nofollow" onmouseover="alert(event.srcElement.parentElement.tagName);">放在我上面</a>
//DIV
</body>
例3:
<div id="div_001">
<form id="form_001">
<input type="button" id="button_001_id" name="button_001_Name" value="单击查看"
class="button_001_Class" onclick="Get_srcElement(this)">
</form>
</div>
<script>
function Get_srcElement()
{
var srcElement=""
srcElement += "\n" + "event.srcElement.id : " + event.srcElement.id;
srcElement += "\n" + "event.srcElement.tagName : " + event.srcElement.tagName;
srcElement += "\n" + "event.srcElement.type : " + event.srcElement.type;
srcElement += "\n" + "event.srcElement.value : " + event.srcElement.value;
srcElement += "\n" + "event.srcElement.name : " + event.srcElement.name;
srcElement += "\n" + "event.srcElement.className : " + event.srcElement.className;
srcElement += "\n" + "event.srcElement.parentElement.id : " + event.srcElement.parentElement.id;
srcElement += "\n" + "event.srcElement.parentNode.id : " + event.srcElement.parentNode.id;
srcElement += "\n" + "event.srcElement.getattribute : " + event.srcElement.getAttribute;
alert(srcElement)
}
</script>
结果如图:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# js
# target
# srcelement
# event.srcelement
# event.target
# JS的Event事件对象使用方法
# js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
# JavaScript事件对象event用法分析
# JavaScript事件Event对象详解(属性、方法、自定义事件)
# 鼠标
# 是指
# 可以用
# 是一个
# 他们的
# 放在
# 第一个
# 就能
# 多个
# 这两个
# 对其
# 任何一个
# 如图
# 这篇文章
# 谢谢大家
# 解决方法
# 我上
# 单击
# 上一层
# 就可以
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
linux top下的 minerd 木马清除方法
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
新三国志曹操传主线渭水交兵攻略
如何在阿里云高效完成企业建站全流程?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
米侠浏览器网页背景异常怎么办 米侠显示修复
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
如何获取上海专业网站定制建站电话?
Android实现代码画虚线边框背景效果
Laravel如何实现文件上传和存储?(本地与S3配置)
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel如何实现一对一模型关联?(Eloquent示例)
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何选择可靠的免备案建站服务器?
如何快速搭建高效可靠的建站解决方案?
电商网站制作价格怎么算,网上拍卖流程以及规则?
Python文件异常处理策略_健壮性说明【指导】
Laravel如何配置和使用缓存?(Redis代码示例)
再谈Python中的字符串与字符编码(推荐)
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
佛山企业网站制作公司有哪些,沟通100网上服务官网?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
JavaScript如何实现音频处理_Web Audio API如何工作?
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
javascript基于原型链的继承及call和apply函数用法分析
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
LinuxShell函数封装方法_脚本复用设计思路【教程】
浅谈Javascript中的Label语句
Java类加载基本过程详细介绍
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何快速搭建虚拟主机网站?新手必看指南
浅谈javascript alert和confirm的美化
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel怎么上传文件_Laravel图片上传及存储配置
打造顶配客厅影院,这份100寸电视推荐名单请查收
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel如何实现API资源集合?(Resource Collection教程)
Swift中swift中的switch 语句
详解jQuery停止动画——stop()方法的使用
如何在Ubuntu系统下快速搭建WordPress个人网站?
详解jQuery中基本的动画方法
如何在服务器上配置二级域名建站?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何获取PHP WAP自助建站系统源码?

