gpt4 book ai didi

javascript - Meteor Startup JQuery DOM 元素未就绪(JQueryUI 可拖动)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:18 25 4
gpt4 key购买 nike

在 Meteor 文档中说 Meteor.startup 将在处理完 DOM 和所有模板后调用。但是,我在 Meteor.startup 中的代码表现得好像 DOM 元素不存在一样。

在 .js 中:

Meteor.startup(function () {
console.log($('.draggable').length);
});

在 .html 中:

<template name="item">
<div class="draggable ui-widget-content">
</div>
</template>

在控制台中我看到:

0

但是在页面上我可以看到我的项目。事实上,如果我在 Template.item.renderedmouseover 事件中包含我的 JQuery,我会得到正确的数组长度。那么为什么 startup 函数没有让我的 DOM 元素准备好使用呢?

最佳答案

我猜你的代码看起来像这样,但如果我错了请告诉我:

<template name="list">
{{#each items}}
{{> item}}
{{/each}}
</template>

{{#each ...}} 帮助器与游标对象一起工作以响应游标上的数据更改。因此,在您的情况下,如果该数据来自服务器(例如订阅),则在 Meteor.startup 时,数据可能尚未加载。所以最初你的列表是空的。然后,当数据从网络中传出时,将为每个数据项呈现一个新的 item 模板。如果您想使特定项目可拖动,您可以将该 jQuery 代码放入 Template.item.rendered 回调中。

这有帮助吗?

关于javascript - Meteor Startup JQuery DOM 元素未就绪(JQueryUI 可拖动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15402211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com