【问题标题】:strange problem calling a function in the second time第二次调用函数的奇怪问题
【发布时间】:2011-07-25 17:38:22
【问题描述】:

我有一个奇怪的问题。

我正在全屏制作自己的灯箱画廊。我遇到了问题,因为当我单击箭头(#leftArrowFS,#rightArrowFS)移动到上一个/下一个图像时,我只能执行一次。如果第二次点击它不会做任何事情

HTML 代码:

    <a href=".path/to/BigImage.jps" class="lightbox">
    <img src="path/small/Image.jpg" />
    </a>    
....

当被点击时:

$('a.lightbox').click(function() {
        var imgSource= $(this).attr('href');
        lightboxFS(imgSource);
        return false;
    });

还有我的 lightboxFS 函数,它位于 .js 文件中

function lightboxFS(imgSource){
...
do a a lot of stuff
...
    $('#rightArrowFS').click(function(){
        rightClick();
    });
}

function rightClick(){
        alert("right arrow");       
        ....
            ....
estadoSetas(array, imgSource);
}

即使我点击了数百次,警报也只会出现一次。如果单击#leftArrowFS,单击#rightArrowFS 后,警报也不会显示,反之亦然。

有什么想法吗??谢谢

【问题讨论】:

  • 请创建一个jsfiddle.net 演示。您在此处发布的代码我们无能为力。

标签: javascript jquery function parameter-passing


【解决方案1】:

我的第一个想法是带有点击事件的元素在 AJAX 请求或类似请求后被覆盖。如果将 .click() 替换为 .live('click', fn),是否可以解决问题?

不过,正如 Felix 所说,小提琴会有所帮助。

【讨论】:

  • 成功了。谢谢 我不知道这种方法。在我阅读了您的答案和 jquery 网站上的文档之后,这一切都说得通了。我必须学习更多:(我没有创建任何小提琴演示,因为在小提琴上做它非常复杂。我看不出灯箱如何在小提琴上工作。
猜你喜欢
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多