关于Javascript中事件处理函数作用于的问题

<!DOCTYPEhtml><html><head><title>IEEventObjectExample</title></head><body><inputtype=... <!DOCTYPE html>
<html>
<head>
<title>IE Event Object Example</title>
</head>
<body>
<input type="button" id="myBtn" value="Click Me" />
<p>This example only works in Internet Explorer.</p>
<script type="text/javascript">
var btn = document.getElementById("myBtn");
btn.onclick = function(){
alert(window.event.srcElement === this); //true
};

btn.attachEvent("onclick", function(event){
alert(event.srcElement === this); //false
});

</script>
</body>
</html>

上面第一个事件绑定,event不是window的属性吗?怎么还能再有属性?
只有btn有事件绑定,也点击的是btn,两个this应该都是btn才会啊,为什么第二个不是呢?
两个例子中的srcElement和this分别是什么呢?
展开
 我来答
bhbhxy
推荐于2016-05-18 · TA获得超过716个赞
知道小有建树答主
回答量:329
采纳率:50%
帮助的人:177万
展开全部
var a = {
b: {
c:1

}

}
上面的代码可以通过a.b.c得到c的值,同理event也是一个包含了多个元素的对象,里面还包含了target,clientX,pageX等有用的属性。

attachEvent中的this始终指向window,这是IE浏览器没有按标准实现造成的。其余三个都是指向当前点击的元素。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式