原代码
$(document).ready ->
$('.comments a.btn').click (event) ->
console.log('aa')
$.ajax({
url:'/comments',
type:'POST',
data:$('#new_comment').serialize(),
success:(data)->$('body').append('success')
});
因为元素$('.comments a.btn')是一次ajax请求后新增的,所以在$(document).ready的时候,click方法并没有绑定上去。
改动后代码
$(document).on 'click','.comments a.btn',()->
console.log('aa')
$.ajax({
url:'/comments',
type:'POST',
data:$('#new_comment').serialize(),
success:(data)->$('body').append('success')
})
使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
http://www.runoob.com/jquery/event-on.html