Javascript jQuery模式与负载问题
我在开发的web应用程序上使用jQueryJavascript jQuery模式与负载问题,javascript,jquery,jquery-ui,modal-dialog,Javascript,Jquery,Jquery Ui,Modal Dialog,我在开发的web应用程序上使用jQuery对话框和加载时遇到问题。 在搜索结果页面上,每个条目上都有一个链接,可以快速查看结果,并触发一个模式对话框,使用jQuery load检索和显示html内容。 一切都很好,我可以关闭和打开对话框,我想没有任何问题 我想在这个对话框的底部添加一个链接,它将触发另一个jQueryload显示html的另一个小部分 这项功能第一次起作用;当我关闭对话框选择另一个预览时,第一次加载与往常一样完美,但单击链接不会显示任何内容 这是我的代码片段: function
对话框
和加载
时遇到问题。在搜索结果页面上,每个条目上都有一个链接,可以快速查看结果,并触发一个模式对话框,使用jQuery load检索和显示html内容。
一切都很好,我可以关闭和打开对话框,我想没有任何问题 我想在这个对话框的底部添加一个链接,它将触发另一个jQuery
load
显示html的另一个小部分
这项功能第一次起作用;当我关闭对话框选择另一个预览时,第一次加载与往常一样完美,但单击链接不会显示任何内容
这是我的代码片段:
function preview(question_id, service){
var jQuerydialog = jQuery('<div>loading</div>');
jQuerydialog.dialog({
title: 'Preview',
modal: true,
jQuerydialog.load('/url...','', function (responseText, textStatus, XMLHttpRequest) {
}
);
return false;
}
function preview_see_more(answer_id, service){
jQuery('#see_more').append('<div>loading </div>').load('/url....','', function (responseText, textStatus, XMLHttpRequest) {
alert('performed!')
}
);
return false;
}
功能预览(问题id,服务){
var jQuerydialog=jQuery('loading');
jQuerydialog.dialog({
标题:“预览”,
莫代尔:是的,
加载('/url…','',函数(responseText,textStatus,XMLHttpRequest){
}
);
返回false;
}
功能预览\u查看\u更多信息(答案\u id、服务){
jQuery(“#请参阅更多”).append('loading').load('/url….','',函数(responseText,textStatus,XMLHttpRequest){
警报('已执行!')
}
);
返回false;
}
在preview\u see\u more
load callback上添加警报(“已执行”),每次调用函数时都会触发此警报,使用firebug,我可以看到ajax调用以状态200触发
preview
函数用于加载主预览;在主预览的底部有一个指向preview\u see\u more
函数的链接,该函数应添加html的另一部分(这实际上是在第一次创建主预览时发生的)
有什么提示吗
编辑:搜索结果示例。
点击[Q],
预览
功能被触发。我正在(仍然在我的测试机器上)在对话框底部添加一个链接,该链接将触发
预览\u see\u more
功能
EDIT2:有证据表明问题的例子。
单击第一个链接的[Q],然后单击“显示接受的答案”…关闭对话框,再试一次。我想看一下页面,页面上还有preview\u see\u more链接。我怀疑的是,您只将链接绑定到函数一次,然后重新加载内容,下次不绑定函数。但是,如果您可以添加链接,就更清楚了 编辑: 我把这个添加到代码中,它成功了
function quicklook_accepted_answer(answer_id, service){
jQuery('#accepted_answer_block :last').append('<div>loading <img src="/images/indicator.gif"/></div>').load('/quicklookanswer?answer='+ answer_id +'&service='+service,'', function (responseText, textStatus, XMLHttpRequest) {
}
);
return false;
}
功能快速查看\u已接受\u应答(应答id,服务){
jQuery('#accepted_answer_block:last')。append('load')。load('/quicklookanswer?answer='+answer_id+'&service='+service',函数(responseText,textStatus,XMLHttpRequest){
}
);
返回false;
}
但主要的问题是,有许多创建模式弹出窗口的实例,您可以做的是在单击新的“Q”按钮时删除模式框我认为dialog\modal在处理jquery时有一些问题。我甚至不能使用jquery Toggle()。我选择了另一个解决方案。无论如何,谢谢。如果您想检查问题,第二个链接可以测试。