【问题标题】:livequery not working with groupslivequery 不适用于组
【发布时间】:2011-01-07 19:35:31
【问题描述】:

我正在使用来自 jQuery 的一些不错的插件来使用基于 AJAX 的网站。现在我遇到了我想使用 livequery 来指定我的 slimbox 的问题。问题是,它没有得到我的组,如 linkFiler 函数中所述。

$(document).ready(function () 
{
    $('a[rel^="lightbox"]').livequery(function()
    {
        $(this).slimbox(null, function(el) // link mapper
        {
            return [el.href, el.title + '<br/><a href=\"' + el.href + '\">Download</a>'];
        }
        , function(el) // links filter
        {
            return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
        });
    });
});

怎么了?在my pages(传记)之一中,slimbox 仅在我刷新该站点上的页面时有效,但在单击我的页面时无效。这些小组不在网站的唱片部分工作。

部分简历和唱片图片如下:

<a href="albumCover.jpg" rel="lightbox-disco"><img src="albumCover_thumb.jpg" alt=""></a>

<a rel="lightbox" href="bandPic.png"><img style="float:right;margin-left:1em;" src="bandPic_thumb.png" alt=""></a>

提前致谢!

更新

我在 slimbox 代码中发现了我的问题,因为它使用 this 作为其链接。因此,每次触发 livequery 时,this 都会被覆盖,并且实际上应该包含完整的选择器。也许我可以通过说:

$('a[rel^="lightbox"]').livequery(function()
{
    $('a[rel^="lightbox"]').slimbox(null, function(el) // link mapper
...

但是这样做会使 livequery 向 slimbox 触发很多次,这是不想要的行为。有没有更好的方法让它不那么频繁地开火?

更新2

至于传记页面中的其他问题。删除图像时的实时查询更新,但所有其他站点在添加图像时都已正确完成...多么奇怪...

【问题讨论】:

    标签: jquery jquery-plugins livequery slimbox


    【解决方案1】:

    我实际上找到了解决方案,但它很奇怪。如果有人读到这篇文章并可以向我解释,那就太好了。不知何故,livequery 使我的代码在空的&lt;head&gt; 标记和填充的标记之间有所不同。所以,当我的子页面中有&lt;style&gt; 标记(例如 BIO 或 DISCO)时,即使它是空的,livequery 也会起作用。如果我有一个空的 &lt;head&gt; 标签,则 livequery 仅适用于离开页面。这很奇怪。现在我刚刚创建了一个空的&lt;style&gt; 标签,每个页面都可以正常工作。

    至于组问题,我的 livequery 有点不同,所以 livequery 不再被调用了。在我的 HTML 中,我确信每个子页面中总会有一个 &lt;div class="content"&gt;。所以我可以做一个实时查询,例如:

    $('.content').livequery(function()
    {
        $('a[rel^="lightbox"]').slimbox(null, function(el) // link mapper
    ...
    

    slimbox 的问题在于,它只能将完整的选择器作为其作用域。因此,将 slimbox 更改为不同的选择器会禁用旧的选择器。 在它的代码中,它做了这样的事情:

    var links = this; // where this is the $(selector)
    

    【讨论】:

      猜你喜欢
      • 2011-01-23
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 2021-01-16
      • 2015-03-03
      相关资源
      最近更新 更多