【问题标题】:Jquery cant get facebox working inside ajax callJquery无法让facebook在ajax调用中工作
【发布时间】:2011-01-01 15:45:40
【问题描述】:

在我的主页上,我通过 jquery 调用了一个 ajax 文件,在该 ajax 文件中是一些额外的 jquery 代码。原始链接如下所示:

<a href="/page1.php" class="guest-action notify-function"><img src="/icon1.png"></a>

然后是代码:

$(document).ready(function(){

   $('a[rel*=facebox]').facebox();

   $('.guest-action').click( function() {
         $.get( $(this).attr('href'), function(responseText) {
             $.jGrowl(responseText);
         });
         return false;
   });

   $('.notify-function').click( function() {
        $(this).find('img').attr('src','/icon2.png');
        $(this).attr('href','/page2.php');
        $(this).removeClass('guest-action').removeClass('notify-function').attr('rel','facebox');
   });
});

所以基本上在单击通知功能后,我正在更改链接的图标和 url,然后我将删除类,以便不会再次运行单击并将 rel="facebox" 添加到链接中,以便如果他们尝试单击出现的新 icon2.png,则会弹出 facebox 窗口。问题是在我单击初始图标后一切正常,除了当我尝试单击新的 icon2.png 时,它仍然执行来自 guest-action 的 jgrowl 代码。但是当我查看源代码时,它会显示:

<a href="/page2.php" rel="facebox" class=""><img src="/icon2.png"></a>

所以看起来应该可以正常工作?我究竟做错了什么?我尝试将 facebox 代码添加到调用 ajax 文件的主页中,但仍然是同样的问题。

【问题讨论】:

    标签: jquery ajax click facebox


    【解决方案1】:

    好的,看来我需要将 facebox 代码移动到它自己的函数中,然后在删除类并取消绑定单击后调用它。像这样:

    $(document).ready(function(){
    
    function reInit() {
       $('a[rel*=facebox]').facebox();
    }
    
       $('.guest-action').click( function() {
             $.get( $(this).attr('href'), function(responseText) {
                 $.jGrowl(responseText);
             });
             return false;
       });
    
       $('.notify-function').click( function() {
            $(this).find('img').attr('src','/icon2.png');
            $(this).attr('href','/page2.php');
            $(this).unbind('click').removeClass('guest-action').removeClass('notify-function').attr('rel','facebox');
    reInit();
       });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多