我有文本输入元素,并且在用户按下回车键时触发了模糊事件。

我的问题是,如果用户在模糊事件val()返回foo之后输入“ foo”并按enter val()函数,则返回null。据我了解,这是由于HTML输入元素的value属性仅在失去焦点时才更新。你能帮我解决一下吗?

这是我使用的确切代码:

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;
        }
    });
});

最佳答案

可以立即访问该值,您只需要使用正确的处理程序即可。 .keypress()将在输入中显示字符之前触发。尝试使用.keyup()代替.keypress(),它应该可以工作。

关于javascript - 如何通过jQuery获取文本元素的当前值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10024536/

10-12 07:39
查看更多