Meteor事件处理程序:目标。<name>未定义

时间:2015-09-20 11:07:57

标签: javascript jquery meteor

我的模板如下:

    <template name="dashboard">
<div>
        <div class="list-group">
            <a href="#state" style="text-align:center;font-size:120%" class="register list-group-item" data-toggle="collapse">Register Your bills</a>
        <div id="MainMenu">
        <div id="state" class="collapse">
{{ #each Utilities}}
        <a href="#{{.}}" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">{{.}}</a>
        <div class="collapse" id={{.}}>
    {{ #each Billers . }}
                    <a href="#{{st_id}}" class="list-group-item list-group-item-success" data-toggle="collapse">{{state}}<i class="fa fa-caret-down"></i></a>
                    <div class="collapse offset list-group-submenu" id={{st_id}}>

                    ==> Adding event handler for this element <a href="#" class="list-group-item billername" name="billername" data-toggle="collapse">{{name}}</a>

                    </div>
    {{ /each }}
        </div>
{{ /each }}
        </div>
        </div>
        </div>
</div>
</template>

在上面的HTML中,我添加了一个指向我正在添加事件处理程序的元素的指针。这个'a'类元素是分层列表的一部分,比层次结构的根低2级。也就是说,当点击两个更高级别的链接时,它会出现在页面上。

事件处理程序代码如下:

Template.dashboard.events({
    "click .billername":function(event){
        console.log(event.currentTarget.billername);
    }
});

billername是元素的name属性。但是,console.log会打印undefined。我不明白为什么会发生这种情况..

更新 下面评论中提到的方法对我有用。但是上面的方法不起作用的原因是什么?这是Meteor和许多其他教程记录的方法。我计划在任何地方使用event.target.billername.value,但event.target.billername本身是undefined

0 个答案:

没有答案