$(document).on用于自定义事件

时间:2013-01-19 14:00:47

标签: javascript jquery ajax

我正在使用ajax。因此,为了在ajax请求之后保持表单元素的工作,它必须使用以下代码

$(document).ready(function() {    
  $(document).on("change", "#my-chk", function(){
          $("#my_id input[type=checkbox]").prop('checked', this.checked);
        });

    $(document).on("click", "#add-account", function(){
           $.get('/my_url', function(data){ 
             alert(data);
          });
        });
});

但是,我应该怎么做才能使ajax请求后面的事件处理程序工作方式与我上面相同?

$("#my-date-range-picker").daterangepicker(
      {
          ranges: { //.... }
      },
      function(start, end) { //.... }
    );

2 个答案:

答案 0 :(得分:1)

请注意,您必须放置自定义事件(在本例中为pick-range)才能触发daterangepicker的创建。但这就是事件授权的美妙之处,无论绑定如何,它总是可用的

$(document).on('pick-range', '#my-date-range-picker', function(e){
   $(e.currentTarget).daterangepicker(
     {
      ranges: { //.... }
     },
     function(start, end) { //.... }
   );
});

// trigger it
$('#my-date-range-picker').trigger('pick-range');

http://jsfiddle.net/DZz8R/

答案 1 :(得分:0)

这是未经测试的,但可能适合您:

$("#my-date-range-picker").daterangepicker(
      {
          ranges: { //.... }
      },
      function(start, end) { //.... }
    ).change(function()
    {
        alert('Change() handler called');
    });

http://api.jquery.com/change/