Как выполнить функции в закрытии функции готового документа jquery из глобального контекста - PullRequest
0 голосов
/ 10 сентября 2010

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

например.

$("document").ready(function () {
    function myFunction() {
        alert("test");
    }
});

Есть ли какой-нибудь синтаксис "пути", который я могу написать, чтобы попасть внутрь закрытия документа?

например. Вот некоторый псевдокод (я создал этот synatx):

document.ready.myFunction();

Возможно, вам интересно, почему я хочу это сделать; причина в том, что я могу выполнять функции из консоли javascript (например, консоли в панели инструментов разработчика IE / firebug и т. д.), которые находятся внутри закрытия "ready" функции.

1 Ответ

2 голосов
/ 10 сентября 2010

Короче говоря, вы не можете, они просто недоступны ... это одна из основных функций замыканий. Если вы хотите, чтобы он был доступен снаружи, вам нужно либо объявить его снаружи, например:

function myFunction() {
    alert("test");
}
$(document).ready(function () {
  //something..
});

Или определите его как глобальную переменную внутри (хотя я не вижу в этом смысла lot , если только у вас нет других ссылок):

$(document).ready(function () {
    myFunction = function() {
        alert("test");
    }
});

Чтобы определить функцию и выполнить ее на document.ready, это может быть так просто:

function myFunction() {
    alert("test");
}
$(myFunction);

Это делает его доступным и запускает его один раз на document.ready, не уверенный, что это то, что вам нужно, но это вариант.

...