js中event.srcElement和event.target的区别

 我来答
Baby_原來
2017-08-10 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:498万
展开全部

一、Javascript event.srcElement

event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。
注意获取的标记都以大写表示,如"TD","TR","A"等。所以把看过的一些抄下来,不记得的时候再来看看。

<script type="text/javascript">
 function tdclick(){
        if(event.srcElement.tagName.toLowerCase()=='td')
             alert("行:"+(event.srcElement.parentNode.rowIndex+1)+"列:"+(event.srcElement.cellIndex+1));
     }
</script>

event.srcElement从字面上可以看出来有以下关键字:事件,源     他的意思就是:当前事件的源,

我们可以调用他的各种属性 就像:document.getElementById("")这样的功能,

经常有人问 firefox 下的 event.srcElement 怎么用,在此详细说明:

IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:

firefox 下的 event.target = IE 下的 event.srcElement

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.

以下是几种常见到的情况(IE下测试通过,如要测试firefox下的event.target可以修改并保存代码后用firefox打开测试):


event.srcElement.X显示一个控件的各种属性

<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 = srcElement + " " +   "event.srcElement.id : " + event.srcElement.id
srcElement = srcElement + " " +   "event.srcElement.tagName : " + event.srcElement.tagName
srcElement = srcElement + " " +   "event.srcElement.type : " + event.srcElement.type
srcElement = srcElement + " " +   "event.srcElement.value : " + event.srcElement.value
srcElement = srcElement + " " +   "event.srcElement.name : " + event.srcElement.name
srcElement = srcElement + " " +   "event.srcElement.className : " + event.srcElement.className
srcElement = srcElement + " " +   "event.srcElement.parentElement.id : " + event.srcElement.parentElement.id
srcElement = srcElement + " " +   "event.srcElement.getattribute : " + event.srcElement.getAttribute
alert(srcElement)
}
</script>

event.srcElement.selectedIndex一般使用在select对像上:

<select name="selectname" onchange="alert(event.srcElement.options[event.srcElement.selectedIndex].value)" >
   <option value="001">1</option>
   <option value="002">2</option>
   <option value="003">3</option>
   <option value="004">4</option>
   <option value="005">5</option>
</select>



第一个子标签为

event.srcElement.firstChild

最后个一个是

event.srcElement.lastChild

当然也可以用

event.srcElement.children[i]

event.srcElement.ChildNode[i]

至于event.srcElement.parentElement是指在鼠标所在对象的上一个对象.

<div onclick="Get_srcElement()">
    <div id="001" style="border:1px solid red;width:100%;height:500px"> <span id="node001">这是第1结点div001<span>
       <div id="002" style="border:1px solid red;width:80%;height:300px"> <span id="node002">这是第2结点div002<span>
         <div id="003" style="border:1px solid red;width:50%;height:200px"> <span id="node003">这是第3结点div003<span>
         </div>
         <div id="004" style="border:1px solid red;width:50%;height:200px"> <span id="node003">这是第3结点div004<span>
         </div>
       </div>
    </div>
</div>


<script>
function Get_srcElement()
{
    var srcElement=""
    srcElement = srcElement + " " +   "event.srcElement.children[0].tagName: " + event.srcElement.children[0].tagName
    srcElement = srcElement + " " +   "event.srcElement.firstChild.id : " + event.srcElement.firstChild.id
    srcElement = srcElement + " " +   "event.srcElement.lastChild.id : " + event.srcElement.lastChild.id
    alert(srcElement)
}
</script>


<div style="border:10px red solid">
<input type="button" value="父元素标签" >
</div>

event.srcElement有关问题- -

event.srcElement的子标签 和父标签:

第一个子标签为

event.srcElement.firstChild

最后个一个是

event.srcElement.lastChild

当然也可以用

event.srcElement.children[i]

event.srcElement.ChildNode[i]

至于event.srcElement.parentElement是指在鼠标所在对象的上一个对象.

<input type=button value=GO title="?page=1"
<script language="JavaScript">
function f()
{
alert('index.asp'+event.srcElement.title)
location.href='index.asp'+event.srcElement.title
}
</script>
<a title="a测试" >a测试</a>
<br>
<table border=1 width="200">
<tr title="tr测试" ><td>tr</td></tr>
</table>
<table border=1 width="200">
<tr><td title="td测试" >td</td></tr>
</table>
<select >
<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>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式