js中,event.srcElement 和event.target是什么意思?

作者&投稿:蓍重 (若有异议请与网页底部的电邮联系)
js中event.srcElement和event.target的区别~

event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思就是:当前事件的源, 我们可以调用他的各种属性 就像:document.getElementById("")这样的功能, 经常有人问 firefox 下的 event.srcElement 怎么用,在此详细说明: IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: firefox 下的 event.target = IE 下的 event.srcElement

  js中,逻辑操作是用的逻辑短路机制。
  || 表示或,左右两个运算元有一个为true时结果为true。而逻辑短路的意思,就是当第一个运算元为true时,第二个运算元不需要判断了,因为也一定是true。而当第一个运算元为false的时候,第二个运算元同样也不需要判断,因为第二个为true时整体就为true,第二个为false时整体也是false。
  在js中,逻辑短路的应用稍微拓展了。当运算元为true时,就将这个运算元赋值给变量。举第一条语句为例。当window.event为true,也就是window.event存在时(js中,未定义变量默认为undefined,表现为false),就将window.event赋值给前面的var event。而如果window.event不存在,则将第二个运算元,也就是||后面的e赋值给event。
  这段代码应该是事件处理函数里的,兼容IE。因为在IE里,event必须加上作用域window,同时IE里获取发生事件的DOM节点用的是event.srcElement,其他浏览器用的是event.target。
  讲的有点晦涩,不懂可以追问。

触发当前事件的源对象,srcElement是IE下的属性,target是Firefox下的属性,Chrome浏览器同时有这两个属性,操作方法如下:

1、首先来写一个a链接,来操作a链接的href属性,当然别的属性也可以。

2、接下来就可以用js来获取href这个属性了。

3、然后预览一下,来看看界面上的显示。


4、这样就获取到href这个属性的值了,如果,不需要这个属性了,也可以移除它。

5、最后在预览下,界面如下,就完成了。



srcElement是IE下的属性;target是Firefox下的属性。

在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。

扩展资料

event.srcElement的用法

<divid="div_001">

<formid="form_001">

<inputtype="button"id="button_001_id"name="button_001_Name"value="单击查看"class="button_001_Class"onclick="Get_srcElement(this)">

</form>

</div>

<script>

functionGet_srcElement()

{

varsrcElement=""

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>



触发当前事件的源对象
如:
var a = document.getElementById('test');
a.addEventListener('click', function(event) {
//这里面event.target就是a对象

}, false);

srcElement是IE下的属性
target是Firefox下的属性
Chrome浏览器同时有这两个属性

JS中event.srcElement是IE中的用法,event.target是非IE中的用法.