加载jQuery对话框后运行一个函数

前端之家收集整理的这篇文章主要介绍了加载jQuery对话框后运行一个函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是一个简单的问题,但我不能让它工作.我正在使用一个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");
    });
});

当HTML被加载到对话框中时,我有一个函数myFunction().在环顾四周以后,我尝试在.load中指定函数,如下所示:

.load(this.href,myFunction());

我也试过使用open事件,像这样:

open: myFunction(),

我究竟做错了什么?

解决方法

解决方案1:
.load(this.href,myFunction);

解决方案2:

.load(this.href,function(){
  myFunction();
});

解决方案#3(优先):

open: myFunction,

解决方案4:

open: function(){
  myFunction();
}

这是为什么?

var foo = myFunction(); // `foo` becomes your function return value
var bar  = myFunction; // `bar` becomes your function
bar();

您的代码应如下所示:

$("#dialogBox").load('http://example.com').dialog({
  title: $(this).attr("data-dialog-title"),modal: true,open : myFunction // this should work...
})

猜你在找的jQuery相关文章