2014-03-12 35 views
1

我想要做的就是我有一個像下面代碼:

$(document).ready(
    function(){ 
    var currentPage = window.location.pathname; 
    $('#main-menu-list').find('a[href^="' + currentPage + '"]').closest('li').addClass('active'); 
    } 
) 

,現在我想添加此代碼以添加並獲得其他代碼的工作。我需要在此之後添加此代碼:

function() { 
    /* If there are forms, make all the submit buttons in the page appear 
     disabled and prevent them to be submitted again to avoid accidental 
     double clicking. See Issue 980. */ 
    jQuery(function() { 
     /* Delegate the function to document so it's likely to be the last event 
      in the queue because of event bubbling. */ 
     jQuery(document).delegate("form", "submit", function (e) { 
      var form = jQuery(this); 
      if (form.hasClass("form_disabled")) { 
       e.preventDefault(); 
       return false; 
      } 
      else { 
       form 
        .addClass("form_disabled") 
        .find(":submit") 
        .addClass("disabled"); 
      } 
      // Reactivate the forms and their buttons after 3 secs as a fallback. 
      setTimeout(function() { 
       form 
        .removeClass("form_disabled") 
        .find(":submit") 
        .removeClass("disabled"); 
      }, 3000); 
     }); 
    }); 
} 

我該怎麼做到這一點。請幫我解決這個問題。

+0

是什麼功能呢?你想什麼時候運行它?如果您在'.click'(例如)事件中運行該函數,它會沒有幫助嗎? – zarun

回答

0

您可以在腳本的任何位置創建document.ready()。沒有必要將所有的代碼都準備就緒。

您可以爲函數來創建實例變量,並調用它,你需要:

$(document).ready(
    var myFunc = function(){ 
    var currentPage = window.location.pathname; 
    //other code 
    } 
    ... 
//and invoke it where you need 
    myFunc(); 
) 
0

在前,名在代碼段長功能,例如launchFormControls()。然後在文檔就緒事件之外定義函數。一個好的做法是這樣做,並保持準備好的事件機構清潔。

例如:

function launchFormControls() { 
    //function code 
} 

或者,在其他的語法:

var launchFormControls = function() { 
    //function code 
} 

其次,從文檔準備事件中調用你的函數。您的功能將被定義,並且可以在文檔加載後調用。此代碼可以放置在您的JavaScript部分或文件的頂部或底部。

例如:

$(document).ready(function(){ 
    var currentPage = window.location.pathname; 
    $('#main-menu-list').find('a[href^="' + currentPage+'"]').closest('li').addClass('active'); 

    launchFormControls(); 
}); 
相關問題