在jQuery UI对话框上以编程方式触发事件
我有一个jQuery对话框,我使用在jQuery UI对话框上以编程方式触发事件,jquery,jquery-ui,Jquery,Jquery Ui,我有一个jQuery对话框,我使用open回调通过AJAX将一些数据加载到jQuery中 例如: $('#dialog').dialog({ modal: true, autoOpen: false, open: function(){ $('.content', this).load('/path/to/file', function(){ // even more code }); // more
open
回调通过AJAX将一些数据加载到jQuery中
例如:
$('#dialog').dialog({
modal: true,
autoOpen: false,
open: function(){
$('.content', this).load('/path/to/file', function(){
// even more code
});
// more code
}
});
当对话框已经打开时,我想通过AJAX重新加载数据。我想我可以触发上面绑定的open
函数。我读到,您可以使用$(“.selector”).bind(“dialogopen”,function(event,ui){})
绑定到open
事件,所以我想我也可以用这种方式触发事件
我尝试了$('#dialog').trigger('dialogopen')
,但什么也没发生。如何触发jQuery对话框的open
事件
目前,我发现我可以使用
$('#dialog')。dialog('option','open')()
,但这很难看,一定有更好的方法 为什么不在open事件中提取函数并在任何地方重用它呢
$('#dialog').dialog({
modal: true,
autoOpen: false,
open: function(){
loadfunction()
}
});
function loadfunction(){
$('.content').load('/path/to/file', function(){
// even more code
});
// more code
}
因此,您可以在任何地方使用
loadfunction
。为什么不在open事件中提取函数,并在任何地方重用它呢
$('#dialog').dialog({
modal: true,
autoOpen: false,
open: function(){
loadfunction()
}
});
function loadfunction(){
$('.content').load('/path/to/file', function(){
// even more code
});
// more code
}
因此,您可以在任何地方使用
loadfunction
。您可以像$(“#dialog”).dialog('option')['open']()(
)一样重写您拥有的内容
可以美化为,
var $dOpt = $('#dialog').dialog('option');
然后
$dOpt.open();
演示:
我想您正在寻找
$('#dialog')。dialog('open')
另一个肮脏的把戏是关闭和重新打开<代码>$('#dialog')。dialog('close')。dialog('open')您可以像
$('#dialog')。dialog('option')['open']()(
一样重写您拥有的内容
可以美化为,
var $dOpt = $('#dialog').dialog('option');
然后
$dOpt.open();
演示:
我想您正在寻找
$('#dialog')。dialog('open')
另一个肮脏的把戏是关闭和重新打开<代码>$('#dialog')。dialog('close')。dialog('open')在jQuery UI中,通过调用小部件名称并提供方法名称作为参数来调用方法。因此,您可以:
$('#dialog').dialog("open");
在jQueryUI中,通过调用小部件名称并提供方法名称作为参数来调用方法。因此,您可以:
$('#dialog').dialog("open");
如果对话框已经打开,那么这似乎不起作用。这就是我想要的。嗯,我没有意识到,
$(“#dialog”)。dialog('option')
返回了一个对象。当dialog不存在时,进行了UGLYD,但防止了错误:($(“#dialog”).dialog('option')['close']| function(){})如果对话框已打开,则代码>似乎不起作用。这就是我想要的。嗯,我没有意识到,$(“#dialog”)。dialog('option')
返回了一个对象。当dialog不存在时,进行了UGLYD,但防止了错误:($(“#dialog”).dialog('option')['close']| function(){})如果对话框已打开,则代码>似乎不起作用。这就是我想要的。如果该对话框已打开,则在打开该对话框时已执行此操作。如果无论对话框是否已打开,都要执行某些操作,请编写一个执行此操作的函数,并调用.dialog(“open”)
。我要做的是打开对话框,触发open
函数,因此它会重新加载AJAX数据。最好的方法可能是nWorx的答案中的方法。如果对话框已经打开,这似乎不起作用。这就是我想要的。如果该对话框已打开,则在打开该对话框时已执行此操作。如果无论对话框是否已打开,都要执行某些操作,请编写一个执行此操作的函数,并调用.dialog(“open”)
。我要做的是在对话框打开时,触发open
函数,以便它重新加载AJAX数据。最好的方法可能是nWorx答案中的方法。这是个好主意。绝对比$('#dialog').dialog('option','open')()干净。
.mm不错的一个。。我会简单地执行open:loadfunction
以防在对话框open中没有任何额外的代码,这是个好主意。绝对比$('#dialog').dialog('option','open')()干净。
.mm不错的一个。。我只需执行open:loadfunction
,以防对话框中没有任何额外的代码处于打开状态