0

假设我的 Web 应用程序中有 5 个 jsps,我在所有 5 个 jsps 中导入了 ext-all.js。在所有 5 个 jsps 中,我写了一个Ext.onReady(function(){});

当我通过在浏览器 url 中键入第一个 jsp 时,会调用所有 5 个 onReady() 函数吗?还是只有 jsp 1 中的 onReady?

我问是因为我有一个模糊的想法,即每个 Ext 应用程序只触发一次 onReady 事件。因此它与仅针对特定页面触发的 onLoad() 不同。

4

1 回答 1

1

是的,传递给的所有五个函数都onReady()将被执行,但每个函数只执行一次。Ext.onReady充当锁存器,保证输入函数在 DOM 准备好之前不会执行。如果在“DOM Ready”事件之后Ext.onReady()调用,该函数将立即执行。

为了清楚起见:“DOM Ready”事件仅在每次页面加载时触发一次。


我假设“JSP 页面”是指“页面片段”,即所有五个 JSP 页面都用于构建单个文档,并且所有 JS 代码都在同一页面上。您必须记住,JSP 以纯 HTML 的形式离开服务器,并且每个页面只有一个 HTML 文档(为了简单起见,让我们忘记 iframe 等)。

于 2013-06-14T21:18:03.963 回答