阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      插件 jQuery.livequery 中文 API 文档

      插件 jQuery.livequery 中文 API 文档 https://github.com/hazzik/livequery

      Live Query 利用 jQuery 选择器的强大功能,通过自动神奇地触发匹配元素的回调,即使在页面加载和 DOM 更新之后也是如此。

      Live Query 在匹配新元素时触发函数(回调),并在元素不再匹配时触发另一个函数(回调)。这提供了极大的灵活性和无数的用例。例如,以下代码使用基于函数的 Live Query 来实现 jQuery hover helper 方法,并在元素不再匹配时将其删除。

      $('li')
          .livequery(function(){
          // use the helper function hover to bind a mouseover and mouseout event
              $(this)
                  .hover(function() {
                      $(this).addClass('hover');
                  }, function() {
                      $(this).removeClass('hover');
                  });
          }, function() {
              // unbind the mouseover and mouseout events
              $(this)
                  .unbind('mouseover')
                  .unbind('mouseout');
          });
      
      

      API

      livequery 签名

      该 livequery 方法有 2 种不同的签名或方式来调用它。

      将一个或两个函数传递给 livequery。执行此操作时,livequery 将在元素重新匹配时调用第一个传递的函数,并在删除元素或不再匹配元素时调用第二个传递的函数。第二个功能是可选的。第 this 一个函数的上下文将是新匹配的元素。对于第二个函数,它将是不再匹配的元素。

      // matchedFn: the function to execute when a new element is matched
      $(selector).livequery( matchedFn );
      
      // matchedFn: the function to execute when a new element is matched
      // unmatchedFn: the function to execute when an element is no longer matched
      $(selector).livequery( matchedFn, unmatchFn );
      
      

      expire 签名

      该 expire 方法有 3 种不同的签名或方式来调用它。

      第一种方法将停止 / 过期与选择器关联的所有实时查询。

      $(selector).expire();
      
      

      第二种方法将停止 / 过期与选择器和 matchedFn 关联的所有实时查询。

      // matchedFn: the function to execute when a new element is matched
      $(selector).expire( matchedFn );
      
      

      第三种方法将停止 / 过期与 selector,matchedFn 和 unmatchedFn 关联的所有实时查询。

      // matchedFn: the function to execute when a new element is matched
      // unmatchedFn: the function to execute when an element is no longer matched
      $(selector).expire( matchedFn, unmatchFn );
      
      

      对于插件开发人员

      如果您的插件在不使用内置 DOM 修改方法(append,addClass 等)的情况下修改 DOM,您可以使用 Live Query 注册您的插件。

      if (jQuery.livequery)
          jQuery.livequery.registerPlugin("pluginMethodName");
      

      您可以通过将它们作为附加参数传递给 registerPlugin 方法来一次注册几个插件方法。

      if (jQuery.livequery)
          jQuery.livequery.registerPlugin("method1", "method2", "method3");
      
      目录
      目录