链接JQuery Lightbox()函数与Datalist中的HTML链接元素

时间:2010-12-05 06:12:03

标签: jquery triggers lightbox datalist

我正在DataList中实现这个JQuery Lightbox插件:

如果链接在DataList之外,我测试了这段代码:

$('a[@rel*=lightbox]').lightBox();

但它似乎没有拿起DataList里面有“rel = lightbox”的链接。

所以我去了digigng并尝试从这里吸取教训:

想出来但似乎不起作用:

            $('a.imageActivator').live("click", function() {
                jQuery.lightBox();
            });

出了什么问题?

2 个答案:

答案 0 :(得分:0)

我认为您需要在点击功能中添加return false;

答案 1 :(得分:0)

我尝试过JQuery Lightbox和JQuery Fancybox。

JQuery Lightbox (如上所述)似乎提出了lightBox()无法绑定/链接到Click事件的问题。

JQuery Fancybox 提出了必须单击TWICE才能激活图像的问题。并且它也没有显示第二张图像(但再次显示相同的第一张图像)。

所以最后,我违反了标准而使用了Lightbox2

这个问题是与全局声明的JQuery的$冲突。所以这是我做了一些研究之后的诀窍。

按如下方式对脚本进行排序:

<script type="text/javascript" src="/scripts/prototype.js"></script>
<script type="text/javascript" src="/scripts/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="/scripts/lightbox.js"></script>

<script type="text/javascript" src="/scripts/jquery-1.4.2.js"></script> 

JQuery脚本必须有“jQuery.noConflict();”作为第一线。页面上使用的任何JQuery $符号都必须更改为“jQuery”。例如:

    <script type="text/javascript">
        jQuery.noConflict();

        jQuery(function() {
            jQuery('a.activator').live("click", function() {
                jQuery('#enquireOverlay').fadeIn('fast', function() {
                    jQuery('#box').animate({ 'top': '160px' }, 500);
                });
            });

            jQuery('#boxclose').click(function() {
                jQuery('#box').animate({ 'top': '-200px' }, 500, function() {
                    jQuery('#enquireOverlay').fadeOut('fast');
                });
            });
        });
    </script>   

这使我能够使用与jQuery脚本共存的Lighbox。