代码之家  ›  专栏  ›  技术社区  ›  Chris Fulstow

使用jquery live()初始化插件?

  •  6
  • Chris Fulstow  · 技术社区  · 14 年前

    使用jquery,在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么?

    例如,假设我想要所有 <input type="text" class="datepicker" /> 元素具有 jQuery UI Datepicker 插件,包括我在运行时可能创建的任何插件。

    基本上,我想这样做:

    $('.datepicker').live('create', function() {
        $(this).datepicker();
    });
    

    但是,当然,没有 创造 我可以使用的事件。

    2 回复  |  直到 14 年前
        1
  •  6
  •   Nick Craver    14 年前

    你可以使用 .livequery() plugin 为此,有报道称死亡原因是 .live() 被夸大了:)

    LIVER() 监听事件以产生气泡,因此它的用途略有不同。用 LIVEQUILY() 你会得到你想要的:

    $('.datepicker').livequery(function() {
        $(this).datepicker();
    });
    

    这将继续 当前和未来 .datepicker 元素。

        2
  •  5
  •   Ali Habibzadeh    14 年前

    据我所知,你是在创造了一种习俗之后。就像这样:

    $('.datepicker').bind('foo', { 'bar'  : 'bam'  }, function(e) 
    
      { 
    
        $(this).datepicker(); 
    
      });   
    
    $('.datepicker').trigger('foo');
    

    希望这有帮助