Meteor如何在模板的末尾加载脚本

时间:2012-08-17 19:50:57

标签: templates meteor handlebars.js

我有一个看起来像这样的模板。它曾经使用常规的html文件,但它现在不工作。

这是我的test.html文件。

<template name="test">
<a href="xxxxxxxx" class="screenshot">
    <img src="xxxxxx" alt="Screenshot" class="thumbnail"/>
    <span class="screenshot-zoom"></span>
</a>
<script>
    $(function () {
        $(".screenshot").lightbox();
    });
</script>
</template>

EDIT1

我关注https://stackoverflow.com/a/10119993/772481并尝试类似的测试,但仍无效。

->test.html
<template name="test">
    <a href="./img/screenshots/placeholder.gif" class="screenshot">
        <img src="http://placehold.it/300x120" alt="Screenshot" class="thumbnail"/>
        <span class="screenshot-zoom"></span>
        {{add_my_special_behavior}}
    </a>
</template>

->screenshot.js
Template.test.add_my_special_behavior = function () {
    Meteor.defer(function () {
        // do stuff to it
        $(".screenshot").lightbox();
    });
    // return nothing
};

1 个答案:

答案 0 :(得分:1)

使用模板可用的rendered事件:

Template.test.rendered = function() {
  $(".screenshot").lightbox();
}

这将在Meteor渲染模板后执行灯箱方法。