0
我喜歡讓我的代碼儘可能幹,並且想知道以下是否可能。 我需要多次重複使用下面的代碼,唯一的區別就是我在下面的函數中做了什麼。jQuery重構函數
.on("click", "a", function(e) {})
我可以只複製addToBooking功能,給它一個不同的名稱,請單擊處理程序的細微變化,但那種感覺浪費和重複。
我可以將代碼塊傳遞給addToBooking函數嗎? 或者也許還有另一種很酷,有效的方式,我不知道。
完整的代碼塊
var addToBooking = function(that, event) {
var left, top;
event.stopPropagation();
//Turn off all calendar tracking
$(".track").off();
//Get proper sticky positioning (Checks to make sure it wont display off screen)
left = getPosition(".add_to_booking", "left");
top = getPosition(".add_to_booking", "top");
//Position sticky, display and listen for click event to see what to do next
$(".add_to_booking").css({top: top, left: left})
.fadeIn('fast')
.on("click", function(e) { e.stopPropagation(); })
.on("click", "a", function(e) {
if($(this).text() === "YES") {
//Close dialog
closeTT();
//Open new add to booking box
addBooking(that, event);
} else {
closeTT();
}
});
}
在你的例子中,我將如何從該函數傳遞變量?看到這裏,它不起作用,但你有這樣的想法:http://jsfiddle.net/SqZm4/1/ – EasyCo 2012-02-23 05:58:52
編輯向您展示如何使用call()傳遞參數 – epascarello 2012-02-23 13:32:08