源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

js中的触发事件对象event.srcElement与event.target详解

  • 时间:2020-10-29 12:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:js中的触发事件对象event.srcElement与event.target详解
[b]介绍[/b] IE下,event对象有srcElement属性,但是没有target属性; Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: firefox 下的 [code]event.target[/code] = IE 下的[code] event.srcElement[/code] [b]解决方法[/b] 使用[code]obj = event.srcElement ? event.srcElement : event.target;[/code] 或:[code]var evtTarget = event.target || event.srcElement;[/code]
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里对象的整体结构是树形的结构。一层一层的追溯,即可获取需要的结果。 [code]event.srcElement[/code]:表示的当前的这个事件源。 [code]event.srcElement.parentNode[/code]:表示当前事件源的父节点。 [code]parentNode[/code]:父节点,也就是上一层的节点。可以是任何一个标签。 [code]event.srcElement.firstChild[/code]:当前事件的第一个节点,如果节点是input,通过[code]event.srcElement.firstChild.value[/code]就可以获取此input的值。 [code]event.srcElement.parentElement[/code]:是指在鼠标所在对象的上一个对象。 [code]event.srcElement.children[/code]:当前节点下对象的个数,有多个的话就是个数组,如当前节点下有2个input的对象,要获取这两个可以用[code]event.srcElement.children[0] [/code]与 [code]event.srcElement.children[1][/code]分别获取。 [b]常用如下:[/b] 1、[code]event.srcElement.parentNode.tagName;[/code]
<div> 
 <input type="button" value="父元素标签" onclick="alert(event.srcElement.parentNode.tagName)"> 
</div> 
结果:DIV 第一个子标签为 [code]event.srcElement.firstChild[/code] 最后个一个是   [code]event.srcElement.lastChild[/code] 当然也可以用   [code]event.srcElement.children[i][/code] , [code]event.srcElement.ChildNode[i][/code] 2、[code]event.srcElement.parentElement[/code]是指在鼠标所在对象的上一个对象
<table border=1 width="200"> 
 <tr title="tr测试"><td onclick="alert(event.srcElement.parentElement.title)">tr</td></tr> 
</table>
3、[code]event.srcElement.tagName [/code]得到点击位置的标签名称 4、[code]event.srcElement.title [/code]得到当前标签title属性值 5、[code]event.srcElement.options[event.srcElement.selectedIndex].value[/code] 例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>
结果如图: [img]http://files.jb51.net/file_images/article/201703/2017315114020104.png?2017215114033[/img] [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部