выполнить неанонимную функцию по определению - PullRequest
0 голосов
/ 29 мая 2011

У меня есть следующий код:

$(document).ready(function() {

    var myFunc = function () {
        alert('test');
    };

    myfunc();  

    jQuery('#type-selector').change(myFunc);
});

Цель этого кода в том, что мне нужно, чтобы функция "mYfunc" выполнялась как для события document.ready, так и события onChange.Этот код работает отлично, однако мне интересно, есть ли способ избежать вызова myFunc ();и вместо этого выполнить функцию по ее определению?Другими словами, мне нужно сохранить ссылку на объект функции и выполнить функцию «в одну строку».

Ответы [ 2 ]

4 голосов
/ 29 мая 2011

Вы можете вызвать событие change:

jQuery('#type-selector').change(function() {
    alert('test');
}).change();

или

jQuery('#type-selector').change(myFunc).change();
0 голосов
/ 29 мая 2011

Вы можете написать

jQuery('#type-selector').change(
    (function() {
        alert('test');
        return arguments.callee;
    })()
);

Эта функция возвращает себя при вызове (return arguments.callee).
Я немедленно вызываю функцию, затем передаю возвращаемое значение 9, которое является той же функцией), в change как обработчик событий.

Это запутанный код;Я не рекомендую его использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...