HTX*_*TX9 13 jquery jquery-ui jquery-ui-dialog
这可能是一个简单的问题,但我无法让它发挥作用.我正在使用jQuery对话框来显示从我网站上的另一个页面加载的表单.用户单击链接,该链接将激活对话框.我想要做的是在将HTML加载到对话框后运行一个函数.这是加载对话框的代码:
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("#dialogBox").dialog({
title: $(this).attr("data-dialog-title"),
close: function() { $(this).remove() },
modal: true
})
.load(this.href);
});
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
});
Run Code Online (Sandbox Code Playgroud)
我有一个函数myFunction(),我想在HTML加载到对话框时调用.在环顾四周之后,我尝试在.load中指定函数,如下所示:
.load(this.href, myFunction());
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用open事件,如下所示:
open: myFunction(),
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Pet*_*ter 30
解决方案#1:
.load(this.href, myFunction);
Run Code Online (Sandbox Code Playgroud)
解决方案#2:
.load(this.href, function(){
myFunction();
});
Run Code Online (Sandbox Code Playgroud)
解决方案#3(优先):
open: myFunction,
Run Code Online (Sandbox Code Playgroud)
解决方案#4:
open: function(){
myFunction();
}
Run Code Online (Sandbox Code Playgroud)
这是为什么?
var foo = myFunction(); // `foo` becomes your function return value
var bar = myFunction; // `bar` becomes your function
bar();
Run Code Online (Sandbox Code Playgroud)
您的代码应如下所示:
$("#dialogBox").load('http://example.com').dialog({
title: $(this).attr("data-dialog-title"),
close: function() { $(this).remove() },
modal: true,
open : myFunction // this should work...
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40936 次 |
| 最近记录: |