AJAX + Rails单击处理程序不绑定

时间:2016-01-20 22:25:08

标签: javascript jquery ajax ruby-on-rails-4

我有一个JS文件,可以通过我的服务器的AJAX请求下载。所有代码都会触发,但单击处理程序似乎没有绑定。

$("#deal_<%= escape_javascript @deal.id.to_s %>").fadeOut("slow", function(){
   var div = $("<%= escape_javascript render partial: 'edit_deal', locals: {deal: @deal} %>").hide();
   div.closest('.save_deal_link').click(function(event) {
        alert("hi!"); // THIS ALERT DOES NOT FIRE ON CLICKING THE LINK
        event.preventDefault();
        // Prevent link from following its href
    });
   $("#deal_<%= escape_javascript @deal.id.to_s %>").replaceWith(div);
   div.fadeIn("slow");
});

在通过AJAX使用时是不允许绑定点击处理程序,还是在相关部分呈现到页面上时被擦除?

1 个答案:

答案 0 :(得分:0)

要实现此行为,我需要这样做:

div.children('.save_deal_link').first().click(function(event) {
    alert("hi!");
    event.preventDefault();
    // Prevent link from following its href
});