Meteor / Handlebars jQuery更新DOM

时间:2013-03-07 00:01:15

标签: javascript jquery dom meteor

使用 jQuery Meteor 我试图将TokenInput插件绑定到DOM,如下所示:

$(function(){
     console.log("binding tokeninput");
     $(".nameInput").tokenInput(friendsList.data)
});

问题在于,正在重新绘制特定的DOM元素(从DOM中删除,然后在快速闪存中重新添加)。 我需要确保插件始终对该输入有效。

有些事情会浮现在脑海中:

  • 我可以使用Meteor的回调重新应用它吗?在刷新模板对象时,我没有找到Meteor的回调。
  • 我可以使用某种反应性绑定(例如.on,但.on仅用于事件)?
  • 我这样做完全错了吗?

1 个答案:

答案 0 :(得分:1)

如果你的DOM元素被反应的东西删除了。如果mytiem更改了其将触发“rendered”模板回调

e.g

<template name="MeteorIsAwesome">
    {{#each myitem}}
        <div class="dom element meteor">

        </div>
    {{/each}}

    {{!comment - you can put it here or above}}
    <input class="nameInput" type="text">
</template>

Js(你可能正在寻找的那种回调)

Template.MeteorIsAwesome.rendered = function () {
    $(".nameInput").tokenInput(friendsList.data)
}

有一件事只让我担心,如果它在重绘时忽略了tokenbox的状态,那么它可能会变成双重标记化