Ray*_*nos 13 javascript dom dom-events dom4
timeStamp属性必须返回它初始化的值.创建事件时,必须将属性初始化为自1970年1月1日00:00:00 UTC以来经过的毫秒数.
可以相互捕获new Event并相应document.createEvent地设置timeStamp,但是如何拦截浏览器创建和分派的事件?
可以向document侦听"每个"事件类型的事件添加一个事件监听器(捕获阶段),并将timeStamp写入接近调度时间但这将是一个丑陋的黑客.
Event.timeStamp?new Event/ new CustomEvent和是否有潜在的陷阱document.createEvent?document和timeStamp尽可能早地手动设置是否存在任何潜在问题?另一种选择是在处理程序中添加时间戳。据推测,只有您编写的代码实际上关心时间戳,并且由于您可以控制您编写的代码,因此您可以使用自己的“监听”辅助函数。就像是:
var myAddListener = function(name, fn, scope){
addEventListener(name, function(e){
if(!e.timeStamp) e.timeStamp = +new Date;
fn.apply(scope || null, arguments);
});
}
Run Code Online (Sandbox Code Playgroud)
只要附加了与时间戳相关的代码,就可以了。请注意,我在其中添加了一个“范围”参数...这是在类实例中使用侦听器时保留“this”的一种便捷方法。
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |