我最近将JQuery升级到了1.9版。在版本1.4上,我正在执行以下操作:

     var windowEvents = $(window).data("events");
     if (windowEvents.unload.length > 0) {
          // some fun stuff
     }

当然,在jQuery 1.8中,此功能已被删除。经过研究,我发现了解决此问题的建议:
     var windowEvents = $._data($(window), "events");

但是,根据控制台,windowEvents是未定义的。我究竟做错了什么?还有其他建议吗?

提前致谢 :)

最佳答案

它们仍存储在同一位置。但是它仅存储已绑定(bind)的事件,并且仅在绑定(bind)至少一个事件之后存储(否则data()将返回undefined)。

所以你将不得不改变你的状况

var windowEvents = $(window).data("events") || {};
 if (windowEvents.unload && windowEvents.unload.length > 0) {
      // some fun stuff
 }

10-02 15:41