我有一个页面,其中显示多个带有结果详细信息的块。在每个块中,我都有一些<a>
带有thickbox jQuery插件的标签:class="thickbox"
这是一种与符标记的示例:
<a class="thickbox" title="Please Sign In" href="userloginredir.php?height=220&width=350&deal=3">
当我向页面添加 jQuery 分页时出现问题,因为页面上显示的结果太多。内部带有结果的 div 组件通过 ajax load() 事件进行更新。
下面是分页脚本:
$(document).ready(function(){
//References
var pages = $("#menu_deals li");
var loading = $("#loading_deals");
var content = $("#content_deals");
//show loading bar
function showLoading(){
loading
.css({visibility:"visible"})
.css({opacity:"1"})
.css({display:"block"})
;
}
//hide loading bar
function hideLoading(){
loading.fadeTo(1000, 0);
};
//Manage click events
pages.live('click',function(){
//show the loading bar
showLoading();
//Highlight current page number
pages.css({'background-color' : ''});
$(this).css({'background-color' : 'yellow'});
//Load content
var pageNum = this.id;
var targetUrl = "ajax_search_results.php?page=" + pageNum + "&" + $("#dealsForm").serialize() + " #content_d";
content.load(targetUrl, hideLoading);
});
//default - 1st page
$("#1").css({'background-color' : 'yellow'});
var targetUrl = "ajax_search_results.php?page=1&" + $("#dealsForm").serialize() + " #content_d";
showLoading();
content.load(targetUrl, hideLoading);
});
当我添加分页(上面的代码)时,不再识别thickbox事件,而不是弹出一个带有登录表单的窗口,而是在新页面中打开结果(就像点击普通链接一样)根据我的jQuery知识这个表示组件未在 DOM 中定义,因为在触发文档就绪后更新内容。
我正在尝试将加载事件与以下内容绑定:
content.bind('load', ???);
但是我不知道在绑定加载事件时如何传递加载参数,targetUrl和回调函数hideLoading。
请在这件事上帮助我,我已经花了比可能允许的时间更多的时间。