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.

或更为简单的

var obj = event.srcElement || event.target;

posted on 2015-07-20 15:58  itjeff  阅读(1815)  评论(0编辑  收藏  举报

导航