优化.click(某些函数)jquery代码

时间:2015-07-17 16:55:52

标签: javascript jquery

我有很多功能

//function 1
alert('error_1');

//function 2
alert('error_2');

等等

当我点击按钮时,我需要运行功能。 例如

$('.button_1').click(function() {

     //function 1
     alert('error_1');
     //function 2
     alert('error_2');
     //And so on ...

});

$('.button_2').click(function() {

     //function 1
     alert('error_1');
     //function 2
     alert('error_2');
     //And so on ...

});

$('.button_3').click(function() {

     //function 1
     alert('error_1');
     //function 2
     alert('error_2');
     //And so on ...

});
// And so on

但我需要优化此代码, 例如

var function_1 = function() {alert('error_1');}
var function_2 = function() {alert('error_2');}
var function_3 = function() {alert('error_3');}
// And so on

$('.button_1').click( function_1 , function_2 , function_3)
$('.button_2').click( function_1 , function_2 , function_3)
$('.button_3').click( function_1 , function_2 , function_3)
// And so on

.click( function_1 , function_2 , function_3)无效

那么你们建议我做什么?

3 个答案:

答案 0 :(得分:2)

创建一个调用所有方法并绑定到它的函数。

var function_1 = function() {alert('error_1');}
var function_2 = function() {alert('error_2');}
var function_3 = function() {alert('error_3');}
// And so on

$('.button_1, .button_2, .button_3').on("click", function() { 
    function_1();
    function_2();
    function_3();
});

你可以通过给它们提供一个共同的类来简化'.button_1, .button_2, .button_3'

答案 1 :(得分:1)

定义功能function_1, function_2, function_3, ....并为所有按钮提供一个公共类,比如说.button,请使用:

$('.button').click( function() {
    function_1();
    function_2();
    function_3();
    ....
});

答案 2 :(得分:-1)

您可以使用eval:

$('.button_1').click(function () {
eval('function_1')();eval('function_2')();eval('function_3')()})