下面的代码假设获取列表的文本insdie,因此如果单击task1,则警报应该说task1,如果单击task2,则警告说text2 ...
但是,当我点击任何一个链接时,没有任何警报显示出来。我一定做错了什么。请求帮助。感谢
Template.mainMenu.helpers({
menuItems: [
{menuItem: "task1"},
{menuItem: "task2"},
{menuItem: "task3"},
{menuItem: "task4"},
{menuItem: "task5"},
{menuItem: "task6"},
{menuItem: "task7"}
]
});
Template.mainMenu.events({
'click .menuItem': function(){
alert(event.target.menuItem.value);
}
});

<template name="mainMenu">
<div class="container">
<div class="row">
<section class="col-xs-12">
<div class="list-group">
{{#each menuItems}}
<a href="#" class="list-group-item menuItem">
<img src="/abc.png">
{{menuItem}} <span class="badge">></span>
</a>
{{/each}}
</div>
</section>
</div>
</div>
</template>
&#13;
答案 0 :(得分:1)
你还没有定义函数的参数(事件)。 下面的示例将帮助您了解您的代码是否存在未捕获的错误。
Template.mainMenu.events({
'click .menuItem': function(event){
try{
alert(event.target.menuItem.value);
} catch (e){
alert(e)
}
}
});
将data-value={{menuItem}}
添加到链接,然后尝试使用jQuery获取此值:
<template name="mainMenu">
<div class="container">
<div class="row">
<section class="col-xs-12">
<div class="list-group">
{{#each menuItems}}
<a href="#" class="list-group-item menuItem" data-value={{menuItem}}>
<img src="/abc.png">
{{menuItem}} <span class="badge">></span>
</a>
{{/each}}
</div>
</section>
</div>
</div>
</template>
Template.mainMenu.events({
'click .menuItem': function(event){
try{
alert($(event.currentTarget).data('value'));
} catch (e){
alert(e)
}
}
});