2013-12-18 77 views
1

的.getJSON代碼repetation我有一段代碼jQuery中:如何避免在jQuery的

$(function() {   

     $.getJSON("json.js",function(result){   
     //operations    
     }); 
}); 

$.getJSON功能將開始執行時頁面獲取加載。 我希望在沒有代碼重複的情況下單擊按鈕時執行此功能。 我已經重複了相同的代碼在現在點擊一個按鈕功能:

$("#btn_next").click(function(){ 

$.getJSON("json.js",function(result){   
      //operations    
      }); 
    }); 

會有什麼解決辦法?

+3

定義功能? – undefined

+0

@怎麼了?在jQuery塊內? – Vinod

回答

4

只要定義和重用的功能

$(function() {   

    // reusable function 
    var reloadData = function() { 
    $.getJSON("json.js",function(result){   
     //operations    
    }); 
    }; 

    // button event 
    $("#btn_next").click(function(event) { 
    reloadData(); 
    event.preventDefault(); 
    }); 

    // init 
    reloadData(); 
}); 
1

只是包裝在一個函數,調用函數

$(function(){ 
$.ajaxCall=(function() {   

     $.getJSON("json.js",function(result){   
     //operations 
     }); 

}); 


$("#btn_next").click(function(event) { 
    $.ajaxCall(); 
    event.preventDefault(); 
}); 
$.ajaxCall(); //call this whenever you want 
}); 
+1

這不行,對不對? – undefined

+0

爲什麼不能這樣工作? – scrblnrd3

+0

@未定義,正確,這不起作用。 –