如何使用SimpleModal获取回调

时间:2009-11-17 22:24:36

标签: jquery simplemodal

我一直无法从simplemodal中捕获onclose。如果你能,因为我是jQuery的新手,请帮个忙......

<a href="http://url/" onclick="$(this).modal({width:833, height:453}).open(); return false;">

有效,但我想在关闭模态对话框时调用javascript函数。如何附加,比如updateTable();关闭事件??

我试过

<a href="" onclick="$(this).modal({onClose: alert(1);$.modal.close();}).open();"

以及所有愚蠢的变体,但老实说看看示例页面中的嵌套函数只让我头晕(第二个例子也有href,但它不允许我在这里发布)....

2 个答案:

答案 0 :(得分:3)

如果我理解你,你想要

  • 点击链接(例如,使用ID点击器)
  • <a href="...">标记的href中的网址定义的网页应为模态内容
  • 当用户关闭模式时,您想要触发某个操作并关闭模态

HTML:

<a href="http://www.google.com" id="clicker">Click me!</a>

的JavaScript

var c = function closer() {
    $.modal.close();
    alert("Done!"); 
}
$(document).ready(function() {
    $("#clicker").click(function() {
        $.modal(
            '<iframe src="'+this.href+'" width="833" height="453">asd</iframe>',
            {onClose:c}
        );
        return false;
    });
});

检查http://jsbin.com/ofimi是否有工作样本

答案 1 :(得分:0)

首先,您不必在使用jQuery时添加onclick属性。 假设

 <a id="clicker" href="http://url/" >Click</a>

然后

  $(document).ready(function(){
      $("#clicker").click(function(){
          $(this).modal({width:833, height:453, onClose: function(){ 
             //your code here}})
          .open(); 
          return false;
      });

 });

$(this)引用实际上是指一个标记,也许你可能想要使用一个名为对话框的div:

 <div id="dialog"></div>

并将jQuery更改为

$("#dialog").modal(...)

更新:根据您的评论。试试这个。

   <head>
      <!-- Include your script tags here to load the jQuery and simplemodal scripts -->
      <script type="text/javascript">
          $(document).ready(function(){
              $("#clicker").click(function(){
                 $("#dialog").modal({onClose: function(){ 
                  alert("Closing");
                 }
                 });
                return false;
              });
          });


      </script>

      </head>
      <body>
           <div id="dialog"></div>
           <a href="#" id="clicker">Click</a>
      </body>