单击链接两次而不是一次

时间:2015-07-14 20:34:59

标签: javascript jquery

我有一个奇怪的问题,我必须在链接(按钮)上点击两次而不是一次激活灯箱事件,并且无法弄清楚为什么我的生活。

这是我的代码,这是页面的预览,如果你发现你必须在观看按钮上点击两次才能激活灯箱事件。

(链接已删除,因此Google未编入索引)

<script type="text/javascript">
    var $j = jQuery.noConflict();
    var src = '';

    $j(function()
    {
        $j("span#btnclick").click(function(event)
        {
            event.preventDefault();

            $j("a.watchbutton").nivoLightbox({
                effect: 'fade',
                afterShowLightbox: function()
                {
                    src = $j('.nivo-lightbox-content > iframe').attr('src');
                    $j('.nivo-lightbox-content > iframe').attr('src', src  +'?autoplay=1');
                }
            });
        });
    });
    </script>

1 个答案:

答案 0 :(得分:1)

这是因为您在click事件中定义了灯箱功能。因此,当您第一次单击时,会定义灯箱功能。第二次它被重新划分,但在它工作之前,因为它已经被定义了。

解决方案是从click事件中提取灯箱功能定义:

$j("span#btnclick").click(function(event){
    event.preventDefault();
});

$j("a.watchbutton").nivoLightbox({
    effect: 'fade',
    afterShowLightbox: function()
    {
        src = $j('.nivo-lightbox-content > iframe').attr('src');
        $j('.nivo-lightbox-content > iframe').attr('src', src  +'?autoplay=1');
    }
});