Pergunta

Ao focalizar, podemos fazer algo como:

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

Porque "isto" é apenas aquele que está focado ($(this) == $('#target')).

Mas não pode fazer o mesmo para "borrão", pois $(this) != $('#target').

Como fazer isso da maneira certa?

NOTA: na minha candidatura, não posso atribuir um id para o alvo, e '#target' aqui é apenas para ilustração.

Foi útil?

Solução

Blur vai manter o contexto como você esperaria:

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

Outras dicas

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

A função anônima irá funcionar como um fecho e vai se lembrar o valor de foo.

Eu sou capaz de acesso 'isto' ok com borrão, o seguinte código está funcionando ...

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

O Evento / borrão dispara o evento borrão de cada elemento combinado e US $ (this) retornar apenas o que blured.

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

Use Firebug . Também adicionar uma variável global chamada "console" para todas as páginas carregadas no Firefox. Neste caso, "console.log", escreve uma mensagem para o console.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top