Jquery无法在ajax调用中使用facebox
在我的主页上,我通过jquery调用了一个ajax文件,在这个ajax文件中有一些额外的jquery代码。原始链接如下所示:Jquery无法在ajax调用中使用facebox,jquery,ajax,click,facebox,Jquery,Ajax,Click,Facebox,在我的主页上,我通过jquery调用了一个ajax文件,在这个ajax文件中有一些额外的jquery代码。原始链接如下所示: <a href="/page1.php" class="guest-action notify-function"><img src="/icon1.png"></a> 因此,基本上在单击notify函数后,我会更改链接的图标和url,然后删除类,这样就不会再次运行单击,并将rel=“facebox”添加到链接中,这样,如果他们尝试单
<a href="/page1.php" class="guest-action notify-function"><img src="/icon1.png"></a>
因此,基本上在单击notify函数后,我会更改链接的图标和url,然后删除类,这样就不会再次运行单击,并将rel=“facebox”添加到链接中,这样,如果他们尝试单击显示的新icon2.png,就会弹出facebox窗口。问题是,在我单击初始图标后,一切正常,除了我尝试单击新的icon2.png时,它仍然执行来宾操作中的jgrowl代码。但当我查看源代码时,它显示:
<a href="/page2.php" rel="facebox" class=""><img src="/icon2.png"></a>
看来这应该行得通吧?我做错了什么?我尝试将facebox代码添加到调用ajax文件的主页面,但仍然存在相同的问题。确定看起来我需要将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();
});
});
$(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();
});
});