Javascript 在渲染后添加更多事件?
如何在将集合呈现到视图后添加更多事件 我有一个需要绑定事件的所有元素ID的列表 目前,我正在尝试使用jqueryonclick触发对视图中某个函数的回调 但问题是,我的视图中的函数调用在jQuery click事件中是未定义的 我查看了主干文档,它说要使用delegateEvents,但是文档中没有显示示例Javascript 在渲染后添加更多事件?,javascript,jquery,backbone.js,backbone-events,Javascript,Jquery,Backbone.js,Backbone Events,如何在将集合呈现到视图后添加更多事件 我有一个需要绑定事件的所有元素ID的列表 目前,我正在尝试使用jqueryonclick触发对视图中某个函数的回调 但问题是,我的视图中的函数调用在jQuery click事件中是未定义的 我查看了主干文档,它说要使用delegateEvents,但是文档中没有显示示例 //为呈现的员工列表添加更多动态事件 addMoreEvents:函数() { log(“列表视图-添加更多DOM事件”); 对于(var i=0;i
//为呈现的员工列表添加更多动态事件
addMoreEvents:函数()
{
log(“列表视图-添加更多DOM事件”);
对于(var i=0;i时,它将为该员工获取所有任务
$(元素)。单击(this.getEmployeeInfo());//不工作!
}
}
必须有一种简单的方法来向呈现后存在的元素添加事件
谢谢你走错了路。不要试图直接绑定到
#某些id
元素上的单击事件,您应该将类附加到要单击的对象上,然后使用视图的普通事件
对象将单击处理程序绑定到该类的元素
例如,在视图的el
中的HTML中会有类似的内容:
<li class="item" id="6">Where</li>
<li class="item" id="11">is</li>
<li class="item" id="23">pancakes</li>
<li class="item" id="42">house?</li>
然后,您的点击处理程序,getEmployeeInfo
,可以查看ev.currentTarget.id
,以获取点击项目的id
属性:
getEmployeeInfo: function(ev) {
var id = ev.currentTarget.id; // this will be the model's `id`
// do whatever needs to be done...
}
谢谢,这很有效。请将此代码添加到问题中,以显示如何访问dom元素
ev.currentTarget.getAttribute(“attributename”)代码>与问题有什么关系?
events: {
'click .item': 'getEmployeeInfo'
}
getEmployeeInfo: function(ev) {
var id = ev.currentTarget.id; // this will be the model's `id`
// do whatever needs to be done...
}