2009-09-11 3 views
0

При фокусировке, мы можем сделать что-то вроде:Как работать с определенным элементом при размытии?

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

Потому что «это» только один, который фокусируется ($(this) == $('#target')).

Но не может сделать то же самое для «размытия», потому что $(this) != $('#target').

Как это сделать правильно?

ПРИМЕЧАНИЕ: в моем приложении, я не могу назначить идентификатор цели, а '#target' здесь просто для иллюстрации.

ответ

1

Размытие будет держать контекст, как можно было бы ожидать:

$("#target").blur(function() { 
    $(this).text("See? It works!"); 
}); 
0
var foo = $('target'); 
foo.focus(function(){foo.....}); 

Анонимная функция будет действовать как закрытие и будет помнить значение foo.

+0

Фактически, я могу использовать только имя класса в качестве селектора, и есть несколько из них с этим именем класса. – omg

0

я могу получить доступ к «это» с размытием, следующий код работает нормально ...

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

Event/blur запускает событие размытия каждого согласованного элемента, а $ (this) возвращает только ту, что была размыта.

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

Использование Firebug. Он также добавляет глобальную переменную с именем «console» ко всем веб-страницам, загруженным в Firefox. В этом случае «console.log» записывает сообщение на консоль.

Смежные вопросы