Я создал функцию, которая вызывается, когда происходит событие. Прямой вызов моей функции не работает, и мне нужно использовать анонимную функцию. Зачем мне это нужно? Может ли кто-нибудь объяснить логику, чтобы я не потерял время для таких глупых ошибок?Использование функции в качестве параметра функции: зачем использовать функцию анонима?
не работает, так как прямой вызов функции checkInBackEnd
$('#signup-email').change(
checkInBackEnd($('#signup-email'), 'email-unique.php', function(result){
if(result == 1){
$('#signup-error-email').show();
}
else{
$('#signup-error-email').hide();
}
})
);
Это работает, потому что я использую анонимная функция является функцией изменения:
$('#signup-email').change(function(){
checkInBackEnd($('#signup-email'), 'email-unique.php', function(result){
if(result == 1){
$('#signup-error-email').show();
}
else{
$('#signup-error-email').hide();
}
});
);
Спасибо
Это происходит потому, что 'checkInBackEnd ($ (...))' является вызовом функции. Вы не должны вызывать функцию, когда _a ссылка ожидается_. Или, если вы собираетесь, позаботьтесь о том, чтобы вызываемая функция возвращала ссылку на функцию (или анонимную функцию). – Teemu
Так как я понимаю, мы не можем вызвать функцию непосредственно в параметрах функции? Мы должны использовать анонимную функцию все время? – DescampsAu
Мы можем, но если нужно, зависит от того, как этот конкретный параметр используется в изначально вызванной функции. – Teemu