2011-08-18 18 views
0

我想知道JavaScript是否记录了有关之前发生的事件的信息,以便我可以使用这些信息在当前事件中执行特定的操作过程?JavaScript是否提供了之前发生的事件的历史记录?

例如,我有一个具有OnBlur事件处理程序的元素,但我想知道发生在触发OnBlur事件发生的OnBlur事件之前的事件,例如用户按下Tab键,箭头键或鼠标点击将焦点从元素移开。

那么JavaScript是否提供了任何机制来促进对事件历史的访问,或者人们可以通过很好的方式向我推荐这样的想法?

回答

1

没有什么本地的JS,这是否..

你可以只是听你感兴趣的事件,并将它们添加到一个数组或任何数据结构是对你有用。然后根据需要引用您自己的事件数据库。

因此,像(JQuery的假设..)

var eventdb = []; 
$(document).bind("click,blur,whatever", function(e) { 
    eventdb.push(e); 
}); 
0

不,没有通过任何浏览器实现维护没有这样的历史:历史API相信维持URL直接,但没有跟踪个别事件。如果你需要一个,你可能需要自己实现一个。

0

您可以绑定到对象上的任何事件并在下一个事件处理程序的对象上维护该事件。这是一个jsfiddle,它显示了绑定到许多事件并将最后一个事件类型存储在对象上。还有一个点击事件处理程序,根据保存在对象上的最后一个事件作出决定:http://jsfiddle.net/xEjGA/

相关问题