2014-09-03 164 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