У меня есть элемент ввода текста, и событие запускается при событии размытия и при нажатии пользователем.Как получить текущее значение текстового элемента через jQuery
Моя проблема в том, что если пользователь вводит «foo» и нажимает enter val()
функция все же возвращает null, после события размытия val()
возвращает foo. Насколько я понимаю, это связано с тем, что свойство value элемента ввода HTML обновляется только тогда, когда оно теряет фокус. Не могли бы вы дать мне работу.
Вот точный код я использую:
var meetmove_address_field_listener = function(e){
var type = $(this).attr('data-marker-type');;
var value = $(this).val();
meetmove_map.geocodeAddress(type, value);
};
$(document).ready(function(){
$('input[data-type="name"]').blur(meetmove_address_field_listener);
$('input[data-type="name"]').keypress(function(event){
if (event.which == 13){
event.preventDefault();
meetmove_address_field_listener(event);
return false;
}
});
});
Любая причина, по которой вы не используете '.data ('markerType')' для доступа к атрибуту data? – ThiefMaster
Ну, я просто не знал об этом :) –
Вы также можете рассмотреть возможность использования селектора классов для выбора полей ввода - это, вероятно, намного быстрее, чем использование селектора атрибутов. По крайней мере, в современных браузерах, которые имеют 'getElementsByClassName()' и т. Д. – ThiefMaster