0

使用jQueryMeteor我正在尝试将TokenInput插件绑定到 DOM,如下所示:

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

问题是特定的 DOM 元素偶尔会被重绘(从 DOM 中删除,然后快速重新添加)。我需要确保插件始终对该输入有效。

我想到了几件事:

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

1 回答 1

1

如果你的 DOM 元素被一些反应性的东西删除了。如果mytiem更改它会触发“渲染”模板回调

例如

<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)
}

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

于 2013-03-07T00:37:59.937 回答