2009-11-17 47 views
1

我一直無法從simplemodal中捕捉onclose。如果可以的話,我是新來的jQuery,請給我一個手...如何獲得使用SimpleModal的回調

<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();"

和這一切stupd變化,但說實話看着示例頁面嵌套函數只讓我頭暈目眩(第二個例子也有HREF,但它不讓我張貼在這裏)....

回答

3

如果我理解你正確地要

  • 點擊一個鏈接(如ID爲唱首歌)
  • 由URL在此<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的工作示例

+0

太棒了!終於明白了!謝謝! – Roy 2009-11-18 17:06:58

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; 
     }); 

}); 

的$(這)參考實際上指的是一個標籤,也許你可能想使用一個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> 
+0

感謝您的幫助......不使用的onClick必將使代碼更簡潔,但遺憾的是它沒有運行我的代碼當我關閉模式...我嘗試了一個簡單的 alert('hello'); 它不工作... – Roy 2009-11-17 22:36:08

+0

請原諒我的無知,但爲什麼我想要一個div?我加載的內容是外部的,在模式內部,它獲得了clicker href上的所有內容,並將其作爲iframe加載。我所需要做的就是知道用戶何時關閉對話框,以便我可以刷新頁面上的內容。 – Roy 2009-11-17 22:39:58

+0

原始代碼中的$(this)指的是鏈接的標籤。它就好像你正在把鏈接變成模態對話框,我懷疑是你想要的。你想使用另一個容器,例如div。否則,你可以使用任何你喜歡的其他容器。 – 2009-11-17 22:48:59