JavaScript"规范化事件对象"

时间:2011-03-15 02:25:31

标签: javascript

本程序取自Pro JavaScript Techniques一书,用于为Element创建类似悬停的功能。

我不明白作者在评论中说“规范化事件”对象时的含义。

你能告诉我吗

a)为什么这是必要的,解释如果没有正常化将会发生什么

b)代码如何实现效果

谢谢。

var div = document.getElementsByTagName('div')[0];

div.onmouseover = div.onmouseout = function(e) {

//Normalize the Event object
e = e || window.event;

//Toggle the background colover of the <div>
this.style.background = (e.type == 'mouseover') ? '#EEE' : '#FFF';

};

1 个答案:

答案 0 :(得分:3)

它指的是window.event,IE的非标准版本的事件对象。如果它没有被标准化,它将在至少一个浏览器中中断。

如果参数为truthy(正确设置了事件参数),代码所做的是将e设置为自身(基本上是无操作)。如果不是(在IE中),则将其设置为window.event

相关问题