jQuery模糊和回车键

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

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

谢谢你的任何指示。

你可以这样做:

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

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

你可以这样做:

 $(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() { }); }); }) ; 

重新阅读你的问题后,我想你想要做的是,当文本框(即#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; }); }) ; 

仅允许发生一个事件。 您可以在事件blurkeypress调用所需的function。 最后,必须在模糊事件中调用实际或所需的函数。 例

我们可以通过以下方式调用startHandlingFromSubmission()函数。

 function startHandlingFromSubmission(e){ if(e.keyCode===13){ //To check enter event $(e.target).blur(); } if(e.keyCode===0){ //To check span event setTimeout(function() { handleFromPlaceSubmission(e); }, 200); } } function handleFromPlaceSubmission(e){ //This is the actual function which we desire to call if(e.keyCode === 0){ //executing only in case of blur event // your code goes here } }