Как работать с определенным элементом при размытии?

StackOverflow https://stackoverflow.com/questions/1409424

  •  05-07-2019
  •  | 
  •  

Вопрос

При фокусировке мы можем сделать что-то вроде:

$('#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» записывает сообщение в консоль.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top