Вопрос
Возможно ли передать элемент функции 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
всегда относится к объекту, на котором произошло событие
Вы пробовали? Это обязательно должно работать, но без (!) Параметр «этот». «Это» будет автоматически относиться к текущему элементу, не нужно передавать его функции в качестве параметра. Просто опустите это.