【发布时间】:2014-10-12 22:16:01
【问题描述】:
我在一个项目中使用 Mustache.js,但我一直试图在模板中包含一个 jQuery 按钮。
我制作了一个模板来显示我所在州州长选举的五位候选人。在 JSON 中,我包含了他们的姓名、照片和所属党派。我将数据加载到此模板中:
{{ #governor }}
<div class="cand-{{ head }}">
<div class="head">
<img src="{{ picture }}">
</div>
<div class="bio">
<h5>{{ name }}</h5>
<i class='fa fa-circle' style='color: {{ color }}'></i> {{ party }}<br>
</div>
</div>
{{ /governor }}
现在,我想在派对线下方包含一个 jQuery 按钮,该按钮将隐藏其他候选人并调出一个包含详细信息的 div,该 div 将与嵌套在其中的另一个按钮一起关闭。但是,该按钮在 Mustache 模板中不起作用。它在外面工作得很好。这是我的按钮代码:
<button class="open-govA">Details</button>
<script>
$( ".open-govA" ).click(function() {
$( ".details-govA" ).show( "slow" );
$( ".cand-govB, .cand-govC, .cand-govD, .cand-govE").hide( "slow" );
});
$( ".close-govA" ).click(function() {
$( ".details-gov" ).hide( "slow" );
$( ".cand-govB, .cand-govC, .cand-govD, .cand-govE").show( "slow" );
});
</script>
我应该如何进行?
【问题讨论】:
-
对动态创建的元素使用事件委托。这个问题每天都会被问很多次......应该很容易网络搜索
-
似乎不起作用。请记住,模板位于
-
是的,确实如此,您需要使用
on()并委托这些事件。谷歌jquery event delegation -
还在挣扎。我研究了 jQuery 事件委托,但找不到任何关于在脚本模板中放置按钮的信息。我试过on(),但它只适用于模板外的按钮。
-
不能正确使用
on()。