flight.js 组件应该等待 document.ready 吗?
Should a flight.js component wait for document.ready?
jQuery suggests to wait for the document ready
event before doing any DOM manipulation. In flight.js 组件,this.after('initialize')
似乎在该事件触发之前被调用。
是否需要像这样在飞行组件内等待?
this.after('initialize', function () {
// Is this necessary?
$(document).ready(function () {
...
});
// Or this, the flight way?
this.on(document, 'ready', function () {
...
});
});
谢谢
Rudi,这在某种程度上取决于您要做什么。 Flight 组件通常会在初始化时附加到 DOM 元素。因此,如果该元素静态存在于文档中,并且您用于初始化组件的脚本包含在主体的末尾,那么您可能没问题。
但是,通常情况下,当我编写 Flight 应用程序时,我通常会有一个脚本或模块来初始化该页面的所有组件并附加它们。在该脚本中,您可以将其包装以等待 DOMContentReady,特别是如果您有代码将动态地将元素写入页面加载后组件将附加到的页面。
如果该组件的情况需要它监听 DOMContentReady,这也是一种有用的方法,也可以使用 after('initialize',...)
方法。
jQuery suggests to wait for the document ready
event before doing any DOM manipulation. In flight.js 组件,this.after('initialize')
似乎在该事件触发之前被调用。
是否需要像这样在飞行组件内等待?
this.after('initialize', function () {
// Is this necessary?
$(document).ready(function () {
...
});
// Or this, the flight way?
this.on(document, 'ready', function () {
...
});
});
谢谢
Rudi,这在某种程度上取决于您要做什么。 Flight 组件通常会在初始化时附加到 DOM 元素。因此,如果该元素静态存在于文档中,并且您用于初始化组件的脚本包含在主体的末尾,那么您可能没问题。
但是,通常情况下,当我编写 Flight 应用程序时,我通常会有一个脚本或模块来初始化该页面的所有组件并附加它们。在该脚本中,您可以将其包装以等待 DOMContentReady,特别是如果您有代码将动态地将元素写入页面加载后组件将附加到的页面。
如果该组件的情况需要它监听 DOMContentReady,这也是一种有用的方法,也可以使用 after('initialize',...)
方法。