2013-01-24 36 views
3

我使用直播('点击...而使用jQuery v1.8.3,它的工作原理,但我意识到生活被depraated为v1.7,我应该改变(“点击jquery 1.8.3直播点击事件改为点击

现在,当用户点击它什么都不做链接,下面是jQuery的/ JS

副本,当你点击a.view_subscriptions链接,它才会起作用。

任何帮助赞赏。

$(document).ready(function() { 


    function get_month() 
    { 
    var u = $("#days_for_month_url").attr("href"); 

    var form_data = { 
     ajax : '1' 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     $('#display-month').html(msg); 

     } // end success 

    }); // end ajax 

    return false; 
    } 

    get_month(); 

    $("a.view_events").on('click', function(e) { 
    e.preventDefault(); 
    var date = $(this).data('date'); 

    // change if URL changes 
    var u = $("#events_for_day_url").attr("href"); 

    var form_data = { 
     year : $(this).data('year'), 
     month : $(this).data('month'), 
     day : $(this).data('day'), 
     date : $(this).data('date'), 
     ajax : '1' 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     $('#display-events').html(msg); 
     $('#display-event_detail').html(''); 

     } // end success 

    }); // end ajax 

    return false; 

    }); // end on.click view-events 


    $("a.view_event_details").on('click', function(e) { 
    e.preventDefault(); 
    var u = $("#event_detail_url").attr("href"); 

    var form_data = { 
     event_id : $(this).data('event_id'), 
     ajax : '1' 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     $('#display-event_detail').html(msg); 
     $('#display-events').html(''); 

     } // end success 

    }); // end ajax 

    return false; 

    }); // end on.click view_event_details 


    $("a.month_link").on('click', function(e) { 
    e.preventDefault(); 
    $('#display-events').html(''); 

    var u = $("#days_for_month_url").attr("href"); 

    var form_data = { 
     month_url : $(this).data('month_url'), 
     ajax : '1' 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     $('#display-month').html(msg); 

     } // end success 

    }); // end ajax 

    return false; 

    }); // end on.click view-month 

$("a.view_subscriptions").on('click', function(e) { 
    e.preventDefault(); 
    var u = $("#subscriptions_url").attr("href"); 

    var form_data = { 
     ajax : '1' 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     $('#display-subscriptions').html(msg); 
     //$('#display-subscriptions').toggle(); 

     } // end success 

    }); // end ajax 

    return false; 

    }); // end on.click view-subscriptions 

$("#update_subscriptions").on('click', function(e) { 
    e.preventDefault(); 
    var u = $("#update_subscriptions_url").attr("href"); 

    var vals = [] 
    $('input:checkbox[name="calendar[]"]').each(function() { 
     if (this.checked) { 
      vals.push(this.value); 
     } 
    }); 

    var form_data = { 
     ajax : '1', 
     calendar: vals, 
    }; 

    $.ajax({ 
     type: 'POST', 
     dataType: 'html', 
     url: u, 
     data: form_data, 
     success: function(msg) { 

     get_month(); 
     $('#display-subscriptions-update').html(msg).fadeOut(6000); 
     $('#display-subscriptions').html(''); 

     } // end success 

    }); // end ajax 

    return false; 

    }); // end on.click view-subscriptions 

}); // end document ready 
+1

转换(或更好的,由当你调用函数,将保留您a.view_events元素存在的元素代替document)从一个到另一个在jQuery API中有很好的文档记载,它只是从声明中指出'.live()'被弃用的几个段落。 –

回答

7

这不仅仅是一个函数名称的改变。绑定是即时的,只涉及绑定时jQuery中的元素。作为参数传递动态元素的选择器。取而代之的

$("a.view_events").on('click', function(e) { 

使用

$(document).on('click', "a.view_events", function(e) { 

+0

+1 - 通常情况下,您可以用'body'或类似于'div.container'的文件替换文档,而不是绑定到文档。 – adamdehaven