jQuery模糊和回车键

时间:2011-03-25 12:30:28

标签: jquery blur

我正在尝试使用基于输入的邮政编码的googlemap动态更新div。如果用户选择远离输入框(id ZipCode)但是如果他们按下输入它不会模糊字段,它的工作正常。我有一个与onkeyup一起使用的变体,但是一个事件调用另一个并且它一团糟。如果发生任何一个事件,是否可以关闭该功能。

$(document).ready(function() {
    $("#ZipCode").blur(function() {
        $("#dynamic").load('googlemap.php', {zipcode: $('#ZipCode').val(), maxdistance:  $("input[name='MaxDistance']:checked").val() }, 
            function() {
            });
        });
}) ;

感谢您的任何指示。

4 个答案:

答案 0 :(得分:25)

你可以这样做:

 $(document).ready(function() {    
     $("#ZipCode").bind('blur keyup',function(e) {  
          if (e.type === 'blur' || e.keyCode === 13)  
          // do your stuff here  
     });  
  });

语法:event.keyCode
返回值:一个数字,表示Unicode字符代码或Unicode密钥代码

答案 1 :(得分:12)

你可以这样做:

$(document).ready(function() {
$("#ZipCode").bind('blur keyup', function(e) {
    if(e.type === 'keyup' && e.keyCode !== 10 && e.keyCode !== 13) return;
    $("#dynamic").load('googlemap.php', {zipcode: $('#ZipCode').val(), maxdistance:  $("input[name='MaxDistance']:checked").val() }, 
        function() {
        });
    });
}) ;

答案 2 :(得分:11)

在重新阅读您的问题后,我认为您要做的是,当文本框(即#ZipCode)模糊时,更新googlemap元素;当按下回车键时,模糊文本框,进而更新googlemap元素。

在您的评论中,您提到过,您不希望使用Enter键提交表单。您可能还需要处理keypress事件。

$(document).ready(function() {
    $("#ZipCode").blur(function() {
        $("#dynamic").load('googlemap.php', {zipcode: $('#ZipCode').val(), maxdistance:  $("input[name='MaxDistance']:checked").val() }, 
            function() {
        });
    });

    $("#ZipCode").keyup(function(e) {
        if (e.which == 13) // Enter key
            $(this).blur();
    });

    // prevent the Enter key from submitting the form
    $('#ZipCode').keypress(function(e) { return e.which != 13; });
}) ;

答案 3 :(得分:0)

仅允许发生一个事件。您可以在事件name.replaceAll("[^\\s0A-Z]//", "")blur中调用所需的功能。最后,必须在模糊事件中调用实际或所需的函数。例如
keypress
我们可以通过以下方式调用<input disabled="true" type="text" placeholder="Enter Start Location" id = "fromPlaceEntry" onkeypress="startHandlingFromSubmission(event)" onblur="startHandlingFromSubmission(event)">函数。

startHandlingFromSubmission()