2014-09-03 73 views
2

我只是想知道如果我可以簡化這種代碼:Jquery的 - 避免代碼重複

$(this).formWizard({ 
    onNext: function(tab, navigation, index) { 
     ## My code 
    }, 
    onLast: function(tab, navigation, index) { 
     ## My code 
    }, 
    ... 
}) 

這樣或別的東西:

$(this).formWizard({ 
    onNext, onLast: function(tab, navigation, index) { 
     ## My code 
    } 
}) 

我知道有其他的解決方案,但有沒有辦法將幾個事件分組到一個功能?

對不起,我的英文。 謝謝你的幫助。

+0

這個問題似乎是脫離主題,因爲它屬於[Code Review Stack Exchange](http://codereview.stackexchange.com/) – melancia 2014-09-03 19:24:30

+3

@MelanciaUK不,這與代碼審查無關。 OP在詢問是否有可能,而不是他/她的代碼是否合適。 – idmean 2014-09-03 19:25:25

+0

@MelanciaUK不,這不是功能性的,可運行的代碼。這會浪費代碼審查時間。 – 2014-09-03 19:25:39

回答

6

爲什麼不把函數保存到變量中?

var myHandler = function(tab, navigation, index) { 
     // My code 
}; 

$(this).formWizard({ 
    onNext: myHandler, 
    onLast: myHandler 
}) 
+0

我也會採用這種方法。但我認爲OP想知道如何將這些事件分組 – 2014-09-03 19:33:20

+0

@FelipeSkinner「group」是什麼意思?只有他們一起射擊? – idmean 2014-09-03 19:34:12

+0

我認爲他想要做一些像「onNext,onLast:myHandler」的東西。我知道結果是一樣的,但也許他想要個人知識 – 2014-09-03 19:47:10

2

不,這是JavaScript語法不允許的。最聰明的就是創建一個函數,並根據@wumm的建議在兩個事件上調用它。

+0

感謝您的回答。我認爲這也是最聰明的。 – Howie 2014-09-03 20:05:48