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中的用法.