2010-11-16 44 views
1

在我的模式窗口我有一個「繼續」按鈕。雖然我可以通過爲simplemodal-close類指定按鈕來關閉模式,但我無法調用我的函數。我已經將這些代碼放在網站上的簡單演示中。jQuery的simplemodal無法調用另一個函數

按鈕:

<a href="#" class="simplemodal-close" onClick="closePopup()"><img src="bell/images/button_understand.gif" width="116" height="49"></a> 

的JavaScript:

$(document).ready(function() { 
    function showPopups(){ 
     var e = document.getElementById('hirpopup'); 
     $('#hirpopup').modal({ 
     opacity:80, 
     overlayCss: {backgroundColor:"#fff"} 
     }); 
    e.style.display = 'block'; 
    return false; 
    } 

    function closePopup(){ 
     var e = document.getElementById('hirpopup'); 
     e.style.display = 'none'; 

     confirm(function() { 
     sameWindow(this.form); 
     }); 
    } 

    function confirm(callback) { 
     $('#hirpopup').modal({ 
      onShow: function() { 
       var modal = this; 
       // call the callback 
       if ($.isFunction(callback)) { 
        callback.apply(); 
       } 
      } 
     }); 
    } 
}); 

,因爲我很新的jQuery和完全新的simplemodal任何想法。

編輯:我已經更新了我的javascript如下,但是它仍然沒有做我的功能。我得到了1的警報,並在其中的功能警報,但沒有別的。

$(document).ready(function(){ 
    $("#close").css("cursor", "pointer"); 

    $('#next').click(function(){ 
     var e = document.getElementById('hirpopup'); 
     $('#hirpopup').modal({ 
      opacity:80, 
      overlayCss: {backgroundColor:"#fff"} 
     }); 
     e.style.display = 'block'; 
     return false; 
    }); 

    $('#close').click(function(){ 
     var e = document.getElementById('hirpopup'); 
     e.style.display = 'none'; 

     confirm(function() { 
      sameWindow(this.form); 
     }); 
    }); 
}); 


function confirm(callback) { 
alert("1"); 
alert(callback); 
    $('#hirpopup').modal({ 
     onShow: function() { 
      alert("2"); 
      var modal = this; 
      // call the callback 
      if ($.isFunction(callback)) { 
       alert("3"); 
       callback.apply(); 
      } 
     } 
    }); 
} 
+0

你的showPopups被調用的地方? – Mauro 2010-11-16 13:51:01

+0

「你的showPopups被調用的地方?」 - 在同一頁面上的不同錨定標記的onClick事件中有「return showPopups();」 – edwardmlyte 2010-11-16 14:00:39

+1

通過代碼閱讀我沒有看到任何問題。我的意見是:轉移到jQuery事件綁定,因爲你已經在你的頁面上使用它。記錄和/或提醒您的代碼。 – Mauro 2010-11-16 14:06:08

回答

1

編輯:您可以嘗試把確認方法中的document.ready。這可能是一個問題

你不能有$(文件)。就緒裏面你自己的功能,但它應該是根本方法。也使用jQuery事件綁定

$(document).ready(function() { 

$('.simplemodal-close').click({ 

     var e = document.getElementById('hirpopup'); 
     e.style.display = 'none'; 

     confirm(function() { 
      sameWindow(this.form); 
     }); 

}); 

});

+0

正如我對Chinmayee說的那樣,我嘗試刪除這些行,現在我的showPopups被忽略了。我已經在原文中更新了我的代碼,以反映我目前的狀況。 – edwardmlyte 2010-11-16 13:50:49

0

您的功能中不能有$(document).ready(function(){})。它只在您的頁面加載時自動執行一次。

,而不是寫

function closePopup(){ 

     var e = document.getElementById('hirpopup'); 
     e.style.display = 'none'; 

     confirm(function() { 
      sameWindow(this.form); 
     }); 

} 
+0

我改變了代碼,現在我的showPopups方法調用被忽略。我更新了我的文章中的代碼,以便您可以看到我正在處理的內容。 – edwardmlyte 2010-11-16 13:36:26