如何在Handlebar脚本(模板)标签内调用jQuery函数?

时间:2015-09-24 09:56:32

标签: javascript jquery ember.js

Handlebar Script标签是:

<section class="listtext">
    <div class="container">
        <p class="test">hello</p>
     <div>
</section>

我的jQuery是类型:

$(document).ready(function(){
    $("p").click(function(){
        alert("Alert clicked.");
    });
});

请帮助在句柄栏的脚本标记内运行此jQuery。

2 个答案:

答案 0 :(得分:0)

您可以定义组件:

<强> /templates/components/my-hello.hbs

<section class="listtext">
    <div class="container">
        <p class="test">hello</p>
     <div>
</section>

<强> /components/my-hello.js

import Ember from 'ember';
export default Ember.Component.extend({

    didInsertElement () {
        this.$("p").click(function(){
            alert("Alert clicked.");
        });
    }

});

之后,无论何时插入此组件。 jQuery代码段将在组件的根元素范围内执行。

<强>更新

如果您不想使用Ember,我看到的唯一方法是使用dom选择器:

    $("body").on("click", ".listtext p", function(){
        alert("Alert clicked.");
    });

答案 1 :(得分:0)

你必须将你的jQuery代码放入像smirnov建议的组件或者放入站点视图didInsertElement钩子中 - 但是自ember 1.13.8以来不再使用视图。

所以我建议你使用smirnov提供的解决方案! : - )

最好的问候