2015-05-21 52 views

回答

2

這是一個封閉

$('#Form').submit(function (event) { save(event, parameter); }); 
+0

好吧,它像一個魅力。你能向我解釋需要關閉的原因嗎?我是Js新手! – Makis

+0

因爲您需要對函數和方式的引用,所以您正在執行該函數並將其分配給提交事件。請看看http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – epascarello

+0

非常感謝你,先生! – Makis

1

工作有兩種方法來實現這一目標。第一個是一個封閉:

$('#Form').submit(function (event) { save(event, parameter); }); 

第二個是綁定功能:

$('#Form').submit(save.bind(null, parameter)); 

function save(parameter, event){ 
    event.preventDefault(); 
} 

請注意,您需要重新排序的「保存」這裏的參數。 綁定函數的第一個參數是save函數中的「this」的值。這裏是「空」,意思是「不變」。

+0

太好了! – Makis