2013-12-18 45 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

@未定义,正确,这不起作用。 –