在一个带有添加的jquery包的干净流星应用程序中,我试图使用基本的jquery css选择器。我究竟做错了什么?可以在此处找到非工作示例:http://jquery-test.meteor.com/
JavaScript直接放在生成的template.hello.events
方法下面。
JS:
$("#foo").click( function() {
console.log("clicked!");
});
HTML:
<button id="foo" style="border: 10px">This is a test div</button>
答案 0 :(得分:2)
您必须将jQuery代码放在Template.hello.rendered
函数中。
答案 1 :(得分:1)
这可能是解决问题的另一种方法:
HTML:
<button id="foo" class="foo" style="border: 10px">This is a test div</button>
<强> JS:强>
Template.hello.events({
'click .foo': function(event){
console.log('clicked');
console.log(event.currentTarget);
}
});
答案 2 :(得分:0)
正如您所提到的,我看到了链接,您elems are dynamically generated
,并且您正试图将事件放在dom中没有的事件上。因此,您必须将活动委托给existing closest parent
或document
,这是所有其他元素的existing parent
。
您可以像这样绑定事件:
$(document).on('click', '#foo', function() {
console.log("clicked!");
});
和make sure to load jQuery first.