вызов нескольких функций из одного события с ненавязчивым javascript


У меня есть входной элемент

<select id="test"></select>

При изменении я хочу вызвать несколько функций

$('#test').change(function1, function2);

Функции на данный момент-это просто оповещения на данный момент

var function1 = function(){alert('a');};
var function2 = function(){alert('b');};

Вызывается только вторая функция. Я знаю это из-за предупреждений и точек торможения. Я знаю, что один из способов исправить это-вызвать функцию function1 и функцию function2 из другой функции, но я хотел бы избежать этого.

5 4

5 ответов:

Я предпочитаю не использовать анонимные функции, поэтому я бы создал новую функцию и поместил всю работу в нее.

$('#test').change(onSelectChange);

var onSelectChange = function() {
    function1();
    function2();
}

Вы всегда можете связать их цепочкой:

$('#test').change(function1).change(function2);

Демо: http://jsfiddle.net/dirtyd77/uPHk6/11/

Вы можете сделать это -

$('#test').change(function1);
$('#test').change(function2);

Вы можете сделать это так:

$('#test').change(function(){function1(); function2();});

Почему бы не попробовать что-то вроде:

$('#test').change(function(){
   function1();
   function2();
};