我最近将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
}