【发布时间】: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 文件的主页中,但仍然是同样的问题。
【问题讨论】: