主干添加更多的事件后渲染
Backbone adding more events after render?
如何在将集合呈现给视图后添加更多事件
我有一个需要事件绑定到它们的所有元素id的列表。
目前我正在尝试使用jQuery onclick触发回调到一个函数在我的视图
问题是,在我的视图中的函数调用是未定义的jQuery点击事件。
我看了主干文档,它说使用delegateEvents但是文档没有显示示例....
http://documentcloud.github.io/backbone/View-delegateEvents
//add more dynamic events for the rendered employee list
addMoreEvents: function ()
{
console.log("List View - Add More DOM Events");
for (var i = 0; i < this.employees.models.length; i++)
{
var element = "#" + this.employees.models[i].attributes.id;
//bind event that when user clicks on <li> on employeelist , it will go fetch all the tasks for that employee
$(element).click(this.getEmployeeInfo()); //not working!
}
}
必须有一个简单的方法来为渲染后存在的元素添加事件。
谢谢
你做错了。而不是试图直接绑定到#some-id
元素上的点击事件,你应该把一个类附加到你想要点击的东西上,然后使用视图的普通events
对象将点击处理程序绑定到该类的元素。
例如,在视图的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>
然后你会看到events
像这样:
events: {
'click .item': 'getEmployeeInfo'
}
然后您的点击处理程序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...
}
相关文章:
- 将单击事件添加到数据表
- 将单击事件添加到附加的项目中
- 使用引导事件添加动画
- 如何将单击事件添加到JQuery中动态添加的元素中
- 如何在jQuery中将事件添加到新生儿元素中
- JQuery将侦听事件添加到.rezable(),然后附加DIV's
- jQuery:使用实时事件添加tabindex属性
- 将单击事件添加到显示字段
- 如何将事件添加到jQuery's on()回调
- 将此事件添加到工具栏
- TinyMCE 将另一个事件添加到粗体和斜体按钮
- 当用户在输入字段事件中输入内容时,为该字段事件添加动画占位符
- 使用 JQuery 将 onclick 事件添加到动态创建的定位点
- Raphaeljs 将点击事件添加到饼图的一部分
- 将事件添加到网格的coffeescript实现中
- 将事件添加到谷歌地图标记
- Javascript:将onkeydown事件添加到prompt()中
- 如何将onclick事件添加到joint.js元素中
- 角度指令:绑定'鼠标悬停'事件添加到元素
- 将事件添加到涉及for()的索引中的多个子节点