【发布时间】: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