Question

Lorsque vous vous concentrez, nous pouvons faire quelque chose comme:

$('#target').focus(function(){$(this)..}); 

Parce que "ceci" est juste celui qui est ciblé ( $ (this) == $ ('# target') ).

Mais vous ne pouvez pas faire la même chose pour "flou", car $ (this)! = $ ('# target') .

Comment le faire correctement?

NOTE: dans mon application, je ne peux pas attribuer d'identifiant à la cible, et '#target' est ici uniquement à titre d'illustration.

Était-ce utile?

La solution

Blur gardera le contexte comme vous le souhaitiez:

$("#target").blur(function() {
    $(this).text("See? It works!");
});

Autres conseils

var foo = $('target');
foo.focus(function(){foo.....});

La fonction anonyme agira comme une fermeture et retiendra la valeur de foo.

Je peux accéder à 'ceci' avec le flou, le code suivant fonctionne bien ...

$(".aClass").blur(
  function(){
    alert($(this).attr("id"));
});

Le Event / blur déclenche l'événement de flou de chaque élément correspondant et $ (this) ne renvoyez que celui qui est flou.

jQuery("#target").blur(function() {
  console.log( jQuery(this) );
});

Utilisez Firebug . Il ajoute également une variable globale nommée "console". à toutes les pages Web chargées dans Firefox. Dans ce cas, "console.log". écrit un message sur la console.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top