如何在事件中向<button>
添加preventDefault()?我下面的内容不起作用..谢谢
var View = Backbone.View.extend({
initialize: function () {
//console.log('initializing ' + this.options.blankOption);
this.template = $('#list-template').children();
},
el: '#container',
events: {
'click button' : 'render'
},
render: function(){
this.events.preventDefault(); // not working ????
var data = this.model.get('data');
$.each(data,function (i,v) {
console.log(data.text + " " + data.href);
});
}
});
答案 0 :(得分:5)
this.events不是事件对象。所以它不起作用
试试这个:
render: function(event){
event && event.preventDefault();
var data = this.model.get('data');
$.each(data,function (i,v) {
console.log(data.text + " " + data.href);
});
}
答案 1 :(得分:1)
接收事件对象作为参数
render: function(evt){
evt.preventDefault();
var data = this.model.get('data');
$.each(data,function (i,v) {
console.log(data.text + " " + data.href);
});
}
答案 2 :(得分:1)
您可以通过添加
重新激活操作this.delegateEvents(); // Re-activates the events for all the buttons
如果将其添加到骨干js视图的render函数中,则可以根据需要使用event.preventDefault()。