Как работать с определенным элементом при размытии?
Вопрос
При фокусировке мы можем сделать что-то вроде:
$('#target').focus(function(){$(this)..});
Потому что "это" как раз то, на чём сосредоточено($(this) == $('#target')
).
Но не могу сделать то же самое с «размытием», потому что $(this) != $('#target')
.
Как это сделать правильно?
ПРИМЕЧАНИЕ:в моем приложении я не могу присвоить идентификатор цели, а «#target» здесь просто для иллюстрации.
Решение
Blur сохранит контекст, как и следовало ожидать:
$("#target").blur(function() {
$(this).text("See? It works!");
});
Другие советы
var foo = $('target');
foo.focus(function(){foo.....});
Анонимная функция будет действовать как замыкание и запомнит значение foo.
Я могу получить доступ к «этому» с помощью размытия, следующий код работает нормально...
$(".aClass").blur(
function(){
alert($(this).attr("id"));
});
В Событие/размытие запускает событие размытия каждого совпавшего элемента, а $(this) возвращает только тот, который размыт.
jQuery("#target").blur(function() {
console.log( jQuery(this) );
});
Использовать поджигатель.Он также добавляет глобальную переменную с именем «консоль» ко всем веб-страницам, загружаемым в Firefox.В этом случае «console.log» записывает сообщение в консоль.