J'ai édité ma réponse car nous devons prendre en compte le fait que l'événement est toujours respecté.
Ce n'est pas 100% satisfaisant, et je ne recommande pas ce genre de façon compliquée de faire les choses, mais c'est le plus approximatif.
Vous devez utiliser une variable globale pour prendre en compte le fait que le champ était flou. Dans l'événement window, il est automatiquement réinitialisé à 0, mais si le clic sur "click-me" est produit, il est vérifié avant l'événement window, car l'évènement window est barboté plus tard, il arrive immédiatement après le "click-me" cliquez sur l'événement
Working code
$(window).click(function(e)
{
$("#result").html($("#result").html()+" isBlurred=0<br/>");
isBlurred=0;
});
var isBlurred=0;
$('.field').blur(function() {
$("#result").html($("#result").html()+" isBlurred=1<br/>");
isBlurred=1;
});
$('#click-me').click(function(e) {
if(isBlurred==1)
{
$("#result").html($("#result").html()+" clicked<br/>");
}
});
".field" serait l'entrée et "# click-moi" serait l'élément cliqué une seule fois seulement.
Vous êtes _setting_ événements dans les événements ici, vous ne les écoutez pas – Harmen
Les éléments n'ont pas l'état "cliqué" .. sauf si vous voulez dire le bouton radio et le terme approprié est "sélectionné". Alors, que voulez-vous dire exactement dans votre question? –
Nolgren - J'ai édité ma réponse, de toute façon je n'implémenterais pas ce genre de comportement. – netadictos