JavaScript "normalize event object"

标签 javascript

该程序取自《Pro JavaScript Techniques》一书,用于为元素创建类似悬停的功能。

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

你能告诉我吗

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';

};

最佳答案

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

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

关于JavaScript "normalize event object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5306844/

相关文章:

javascript - 如何在 jQuery 中 "fadeOut"和 "remove"一个 div?

php - 我如何收集有关我网站访问者的信息?

javascript - net::ERR_ABORTED 404(未找到)react-router-dom,webpack

javascript - Express 不断获取 request.body 作为未定义的 JSON 对象

javascript - Node Express - 路由路径冒号参数异常

javascript - 如何根据用户输入的 HTML 更新多个 span 元素

javascript - 如何在 React 应用程序中更新 bundle.js 文件

php - Facebook 点赞和 Twitter 转发按钮 - 雅虎实现

javascript - break text with css (text == white space == text) float 文本,文本中断

javascript - Mongo $facet 获取并统计聚合管道中匹配产品的标签