Вопрос

Возможно ли передать элемент функции Focusout в jQuery? Я хотел бы связать все текстовые поля Focusout в одном утверждении. Так что мое решение было бы сделать их одинаковым классом, а затем сделать что -то вроде

$(".class-name").focusout( function() {
//do whatever
});

Но я хотел бы получить ценность элемента внутри фокусировки, не обращаясь к нему по его идентификатору, так что что -то вроде этого возможно?

$(".class-name").focusout( function(this) {
alert( $(this).val() );
});
Это было полезно?

Решение

Предполагая, что вы понимаете магическую природу focusout над blur, Это то, что вы хотите:

$("#the-common-parent-of-all-inputs").focusout( function(e) {
alert( e.target.value );
});

Вам нужно только связать один focusout для общего родителя входных элементов. Это единственная причина для использования focusout.

Вы можете не осознавать этого, но когда вы это сделаете $(".class-name").focusout он просто свяжется с каждым элементом индивидуально, что побеждает всю цель focusout.

Другие советы

Для чего -то вроде фокусировки (или любого другого события JQUERY) вы можете сделать:

$(".class-name").focusout( function() {
   //`this` refers to the object that was focusouted on
});

this всегда относится к объекту, на котором произошло событие

Вы пробовали? Это обязательно должно работать, но без (!) Параметр «этот». «Это» будет автоматически относиться к текущему элементу, не нужно передавать его функции в качестве параметра. Просто опустите это.

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