IE下,event对象有srcElement属性,可是没有target属性;html
Firefox下,event对象有target属性,可是没有srcElement属性.但他们的做用是至关的,即:数组
firefox 下的 event.target = IE 下的 event.srcElement测试
解决方法:使用obj = event.srcElement ? event.srcElement : event.target;this
或:var evtTarget = event.target || event.srcElement;spa
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里对象的总体结构是树形的结构。一层一层的追溯,便可获取须要的结果。firefox
event.srcElement:表示的当前的这个事件源。code
event.srcElement.parentNode:表示当前事件源的父节点。orm
parentNode:父节点,也就是上一层的节点。能够是任何一个标签。htm
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="/" onmouseover="alert(event.srcElement.parentElement.tagName);">放在我上面</a> </div> //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); }
结果如图: