Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dynamicly将事件添加到Meteor模板_Javascript_Meteor_Coffeescript_Pug - Fatal编程技术网

Javascript Dynamicly将事件添加到Meteor模板

Javascript Dynamicly将事件添加到Meteor模板,javascript,meteor,coffeescript,pug,Javascript,Meteor,Coffeescript,Pug,在我的Meteor.JS应用程序中,我想动态添加从数据库中获取的元素的点击事件。不幸的是,函数在单击后未被触发(但事件已添加到Template.algorithms.\uuu eventsMap属性)。我想知道我的方法是否正确,有什么可以纠正以触发该事件 梅因:咖啡: Template.algorithms.onCreated -> Template.instance().subscribe('algorithm-descriptions', { onReady: () -&g

在我的Meteor.JS应用程序中,我想动态添加从数据库中获取的元素的点击事件。不幸的是,函数在单击后未被触发(但事件已添加到Template.algorithms.\uuu eventsMap属性)。我想知道我的方法是否正确,有什么可以纠正以触发该事件

梅因:咖啡:

Template.algorithms.onCreated ->
  Template.instance().subscribe('algorithm-descriptions', {
    onReady: () ->
      for alg in AlgorithmDescriptions.find().fetch()
        Template.algorithms.events({
          "click .#{alg.button}": () ->
            $(".#{alg.divClass}").scrollintoview({duration: 'slow'})
    })
})
jade.com:

.col-md-2
  ul
    each alg in algorithmDescriptions
      li(class=alg.button)=alg.name
.col-md-10
  each alg in algorithmDescriptions
    div(class=alg.div)
      h2=alg.name

实现不正确

解决方案:

在模板中循环“each”时,附加一个类(例如,
'clickHere'
),并向其提供文档的
id

范例

template.html-(对不起!我从未使用过jade)

请将脚本转换为jade和coffee,这应该可以工作

   {{#each alg}}
            <div class="clickHere" id="{{id}}">
                 h2={{name}}
             </div>
        {{/each}}
Template.algorithms.events({
     "click .clickHere" : function(){
         var id=this._id;
        $("#"+id).scrollintoview({duration: 'slow'})
     }
});