Le code ci-dessous est pour un widget simple d'inscription à la newsletter.Comment refactoriser ce code jQuery?
Je suis sûr qu'il y a un moyen de le rendre plus concis, des idées?
var email_form = $('.widget_subscribe form');
var email_submit = $('.widget_subscribe .submit');
var email_link = $('.widget_subscribe .email');
// Hide the email entry form when the page loads
email_form.hide();
// Show the form when the email link is clicked
$(email_link).click(function() {
$(this).toggle();
$(email_form).toggle();
return false;
});
// Hide the form when the form submit is clicked
$(email_submit).click(function() {
$(email_link).toggle();
$(email_form).toggle();
});
// Clear/reset the email input on focus
$('input[name="email"]').focus(function() {
$(this).val("");
}).blur(function() {
if ($(this).val() == "") {
$(this).val($(this)[0].defaultValue);
}
});
semble assez bon. Vous manquez seulement); après la dernière fonction de flou. –
Ça me semble assez bien. Vous n'avez pas $() les variables comme $ (email_form) parce que cela a été fait en les instanciant. – Rashack
En tant que sidenote ... quand je fais une faute de frappe dans mon adresse e-mail et que j'essaie de la corriger, votre code va complètement éradiquer ce que j'avais tapé avant, me forçant à recommencer. (Cela arrive BEAUCOUP sur les sites Web et ça craint.) – Huppie