2012-11-22 42 views
1

有什麼方法可以在運行時定義回調函數。 這是我需要的。 我正在使用fancybox。如何在運行時在jQuery中設置回調函數

$.fancybox.open({ 
      href : '#modal_div', 
      minWidth:1150, 
      minHeight:820, 
      width:1150, 
      height:820, 
      autoResize:true, 
      afterShow:function(){ 
       set_buttons(); 

      } 
     }); 

在腳本的另一部分,如果從服務器端收到的值是「true」,則fancybox關閉。我是什麼是定義回調「afterClose」,以便做一些特定的事情,只有當服務器響應是真實的,否則不是,它應該簡單地關閉。

$.post("user_action.php", { 
        delete_item:item_id, 
        rel:item_type 
       }, function(data){ 
          if(data=="true"){ 
           $.fancybox.close() 
           //do some stuff afterClose 
          } 
          else{ 
          $.fancybox.close() 
          } 
       } 
      }); 

所以我需要的是設置回撥功能的方式!

回答

0

有可能我沒有正確理解你的問題。如果是這種情況,請修改您的OP,我會再試一次。

您實際上已經在回調函數中,並且您已經正確地構造了您的IF測試,以查看「data」的值是否爲true。

因此,您可以在要放置註釋的位置執行所需的操作 - 緊接在$.fancybox.close();指令之後。

注意:不要忘記你需要一個分號後的指令,對吧?

相關問題