流星:点击按钮显示一些东西
Meteor: show something on button click
我在Meteor中遇到了一个问题。
当我点击按钮时,我想显示和隐藏模板的一部分(比如透露问题的答案)。
问题是模板的这一部分是动态创建的,我只想揭示与按钮相关的答案。所以你不能只有一个模板助手,它需要返回"true"来显示答案,因为点击一个按钮,每个答案都会显示出来。
<template name="cardList">
{{#each card}}
<div class="card">
<h3>{{frontsideText}}</h3>
<p class="answerswer">{{backsideText}}</p>
<button class="btn btn-danger deleteButton">delete</button>
<button class="btn btn-default showButton">show Answer</button>
</div>
{{/each}}
</template>
我在jQuery上试过了,效果不错。类似于:
Meteor.startup(function () {
$(".answer").hide();
}
Template.cardList.events({
"click .showButton": function(event) {
$(event.target).prevAll(".answer").first().show();
}
但这不起作用,因为每一个新添加的问题或任何东西都有答案,因为它们只是在启动时隐藏起来的。我想我需要把hide()函数放在其他地方,但我不知道在哪里。
有没有办法只使用Meteor而不使用jQuery来解决这个问题?
有很多方法可以做到这一点,这里有两种:
1.使用流星您可以制作一个名为card的新模板,将其放入{{#eachcard}}中,然后使用以下事件。每当呈现新卡时,这将隐藏答案。
Template.card.rendered = function(){
this.$("p.answer").hide();
};
2.更改代码段以使用JQuery问题是你用错误的方式隐藏了你的元素。你不应该用js隐藏它,而应该用css隐藏它。这样默认情况下它是隐藏的。
.card p.answer{
display: none;
}
无论哪种方式都可以使您的点击事件代码正常工作。就我个人而言,我会结合我建议的选项:为卡片制作一个模板(在包含良好的模板上工作更干净/更容易),并调整css,使其在默认情况下隐藏。
如果您有任何其他问题,请告诉我
相关文章:
- 如何使用AngularJS显示按钮或锚标记值
- PHP到JavaScript图表;显示w/按钮
- 输入按钮分隔显示按钮名称和值
- 如果条件为true,ServiceNow显示按钮
- 仅当在文本框中输入文本时显示X按钮
- 点击页面上的计数和显示按钮
- 填写完输入后,如何显示按钮
- 聚焦时如何显示按钮?有棱角的
- 如果已登录,则显示按钮,Meteor's空格键
- 通过键盘单击显示按钮上的按键事件
- 防止在 Jquery 表单提交时加载页面,但“无”显示按钮
- 为什么没有正确显示按钮
- 单击另一个用于显示/隐藏图层的按钮时,在Adobe PDF中隐藏/显示按钮的代码是什么
- 是否可以在单击其他按钮时显示按钮的引导弹出框
- 嵌入应该能够显示按钮
- 根据 Cookie 的存在突出显示按钮
- 如何使用javascript在特定网页上显示按钮
- CSS 在图像上显示按钮
- 单击时隐藏按钮,计时器用完时显示按钮
- 当用户使用 jquery 将焦点聚焦到文本区域时显示按钮