Javascript 在backbone.js中添加两个事件
我添加了两个jQuery事件,第二个jQuery事件没有触发。可能是什么问题?这是我的密码:Javascript 在backbone.js中添加两个事件,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我添加了两个jQuery事件,第二个jQuery事件没有触发。可能是什么问题?这是我的密码: var ListView = Backbone.View.extend({ events: function() { $('#couponcheck2').click(function(e) { e.preventDefault(); $('#coup
var ListView = Backbone.View.extend({
events: function() {
$('#couponcheck2').click(function(e) {
e.preventDefault();
$('#couponcheck').empty();
$('#couponcheck').append('<div class="col-xs-8"><input type="text" class="form-control" id="enterCoupon"></div>');
$('#couponcheck').append('<div class="col-xs-8"><button type="button" class="btn btn-success btn-sm" id="couponbutton"><span class="glyphicon glyphicon-ok"></span> Apply</button></div>');
}),
$('#signupbutton').click(function(e) {
e.preventDefault();
console.log("in sec 2")
$('#section2').prepend('<h4 class="panel-title" data-parent="#accordion"data-target="#collapseTwo" data-toggle="collapse">')
});
},
……//代码对DOM中动态创建的元素使用事件委派
$(document).on('click', '#signupbutton', function(e){
e.preventDefault();
console.log("in sec 2")
$('#section2').prepend('<h4 class="panel-title" data-parent="#accordion"data-target="#collapseTwo" data-toggle="collapse">')
});
这不是在主干视图上使用事件哈希的方法
var ListView = Backbone.View.extend({
events: {
"click #couponncheck2": function(e) {
// code goes here
}
在主干网中处理事件的更好方法:
var ListView = Backbone.View.extend({
events: {
'click #couponcheck2': 'checkCoupon',
'click #signupbutton' : 'signUp'
},
checkCoupon: function(e) {
e.preventDefault();
$('#couponcheck').empty();
$('#couponcheck').append('<div class="col-xs-8"><input type="text" class="form-control" id="enterCoupon"></div>');
$('#couponcheck').append('<div class="col-xs-8"><button type="button" class="btn btn-success btn-sm" id="couponbutton"><span class="glyphicon glyphicon-ok"></span> Apply</button></div>');
},
signUp: function(e) {
e.preventDefault();
console.log("in sec 2");
$('#section2').prepend('<h4 class="panel-title" data-parent="#accordion"data-target="#collapseTwo" data-toggle="collapse">');
}
...
你动态添加的注册按钮id啊???@JqueryKing是的。我动态添加了。这不是有效的Javascript。我想你的意思是events:{而不是events:function{,这确实是声明events散列的正确方法。你是对的。我把它从额外的函数中去掉了