e.target 和 e.srcElement 的使用问题

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

我们可以调用他的各种属性就像:document.getElementById("")这样的功能, event.srcElement 可以捕获当前事件作用的对象,

如event.srcElement.tagName可以捕获活动标记名称。

firefox 下的 event.target = IE 下的 event.srcElement 这是一种规范,ie下支持e.srcElement,ff支持e.target。

测试代码:

    <div>
        <a href="javascript:void(0);" onclick="test(event)">test</a>
    </div>
    <script>
        function test(e){
            console.log(e.target);
        }
    </script>

结果:

这样就会出现有兼容问题,解决方法:

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

e.target 和 e.srcElement 的使用问题,布布扣,bubuko.com

时间: 2024-12-12 03:25:11

e.target 和 e.srcElement 的使用问题的相关文章

捕获当前事件作用的对象event.target和event.srcElement

语法: //返回事件的目标节点(触发该事件的节点). event.target //FF,Chrome event.srcElement //IE 栗子: var oDiv=document.getElementById("div1"); oDiv.onclick=function (ev) { var oEvent=ev||event; //oEvent.target ie7以下不兼容 if (oEvent.target) { console.log(oEvent.target.id

window.event.srcElement与window.event.target 触发事件的元素 触发事件对象的获取(非常重要)

判断事件触发的元素:     var tag = window.event.target || window.event.srcElement;    if (tag.tagName.toLowerCase() == "input") {        return;    } window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为事件通过元

event.srcElement与event.target的区别

window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为事件通过元素层次冒泡,可以在任意一层进行处理, 有了元素的引用,就可以读写改元素的属性. IE浏览器支持window.event.srcElement , 而firefox支持window.event.target: event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思

框架中的target

js中的this上下文会因事件而转换成html dom对象. 所以就有原生方法这样获取当前触发事件的dom对象: window.event.srcElement || window.event.target; var e = window.event || e; var srcElement = e.srcElement || e.target; var id=srcElement.id.split("_")[1];//不采用闭包的话就只能手动加id了 jquery的话,就$('thi

封装Js事件代理方法

// 封装事件代理 function delegateEvent(element, tag, event, listener) { // 判断是否支持addEventlistener if(element.addEventListener){ // 给父元素添加事件 element.addEventListener(event,function(e){ // 获取当前触发的元素 var target = e.target; // 判断当前元素是否是我需要的 if(target.nodeName.

web前端开发规范

本文原创,这里首先声明,转载注明本文出处,翻版必究! web前端开发规范的现实意义 1.提高团队的协作能力 2.提高代码的重复利用率 3.可以写出质量更高,效率更好的代码 4.为后期维护提供更好的支持 5.可读性高 一.命名规则 1.html命名规则: a.文件名称命名规则:统一使用小写英文字母.数字.下划线的组合,不得包含汉字空格和特殊字符 2.命名原则:方便理解.方便查找 b.索引文件命名原则:index.html.index.htm.index.asp.index.aspx.index.j

点击空白处隐藏盒子

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>点击空白处隐藏盒子</title> <style> #mask{ width: 100%; height:2000px; font-weight:bold;">#000; opacity: 0.4; filter:alpha(opac

兼容低版本浏览器的一些方法

页面滚动的兼容方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> body { height: 3000px; } </style> </head> <body> </body> </html> &

Javascript练习

1.时钟 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Javascript时钟</title> <script type="text/javascript"> function currenttime(){ setInterval(function (){ var now = new Date(); var