Вызов функции события вручную с помощью JQuery - PullRequest
7 голосов
/ 05 августа 2011

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

Например:

$("#somediv").change(function() { //do something });

Iхочу иметь возможность вручную вызывать ту функцию, которая изначально была назначена элементу somediv.

Спасибо.

Ответы [ 6 ]

19 голосов
/ 05 августа 2011

Использование триггер :

$("#somediv").trigger("change");
19 голосов
/ 05 августа 2011

Вы пробовали это?

$("#somediv").change();
3 голосов
/ 05 августа 2011

JQuery может вызвать данное событие;просто позвоните $("#somediv").change().

1 голос
/ 05 августа 2011

Если вы не хотите фактически инициировать событие изменения (как показано в предыдущих ответах выше), вам, вероятно, следует извлечь эту функцию во что-то, что вы можете вызвать из нескольких мест.Похоже, вы нашли место, где повторное использование в вашем приложении, и его извлечение может быть лучшим ответом.

1 голос
/ 05 августа 2011

Простым способом достижения этого является размещение «фактической» функции вне вызова Jquery. Итак, ваш код будет выглядеть примерно так:

$("#somediv").change(function() { doSomething(); });

var doSomething = function() {
// actually do something
}

Это бы очень просто вызывало форму функции doSomething в любом месте ваших скриптов.

1 голос
/ 05 августа 2011

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

function whatever() { // do something }

$("#somediv").change(whatever);

Тогда вы можете вызвать свою функцию в другом месте.

По крайней мере, так я интерпретировалваш вопрос.

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