不太确定如何执行以下操作,希望您能提出建议。
我有一个对话框,可以通过ajax打开一个页面。我想以某种方式在此对话框完成加载时触发一个事件,然后执行其他操作。
任何人都可以建议如何完成这项任务。
希望你能提供帮助。
利
答案 0 :(得分:1)
查看jQuery API documentation for ajax。您需要的“触发器”称为回调函数,完成后调用“成功”,“错误”或“完成”(用于成功或错误)函数:
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
},
error: function(XMLHttpRequest, textStatus){
alert(textStatus);
}
});
我不确定您使用的对话脚本是什么,您使用的是jQuery UI Dialog吗?如果上面的示例没有帮助,请提供您尝试工作的代码。
答案 1 :(得分:1)
$( ".selector" ).dialog({
open: function(event, ui)
{
//Dialog Open
}
});
并且
$( ".selector" ).bind( "dialogopen", function(event, ui)
{
// Dialog Open
});
http://jqueryui.com/demos/dialog/#event-open
更新
$.ajax(
{
url: 'ajax/test.html',
success: function(data)
{
var Contents = data;
$dialog = $('<div></div>').attr('title',Contents.title).append($('<p></p>').val($Contents.contents));
$($dialog).dialog({
open: function(event, ui)
{
//Dialog Open
}
});
}
});
当您将内容定义为全局范围时,可以在对话框的打开功能中访问它。