JAB*_*ABD 18 javascript jquery backbone.js underscore.js
如何在backbone.js中的动态生成按钮上绑定click事件?
window.PackageView = Backbone.View.extend({
tagName: "div",
className: "package-template",
events:{
'click #display-nodes' : 'main', // This button is declared in my HTML code and calls main method successfully.
'click .display' : 'disp', // This is dynamic button generated with class as display
},
getAction: function(nodeId){ // Get Actions from NodeId and generate buttons
$('.nodes').append("<button>" + action.Name + "</button>"); //Generate Buttons
$(".nodes button").addClass("display");
},
disp: function(){
alert("Inside Disp Function");
},
Run Code Online (Sandbox Code Playgroud)
单击#display-nodes节点时,将根据需要显示但.display不起作用.如何让这个按钮调用该功能?
Ben*_*kin 33
events只要动态生成的DOM元素是视图的后代,Backbone视图就可以通过属性从动态生成的DOM元素接收事件el.相关代码在delegateEvents()中.它使用jQuery的delegate()选择器方法.
它不适合你的最可能的原因是新创建<button>的不是视图的后代el.我对吗?
如果是这种情况,并且您希望将元素保留在视图之外,则el可以将其从视图的events属性中删除,并委托视图init方法中的另一个元素.
| 归档时间: |
|
| 查看次数: |
11943 次 |
| 最近记录: |