繁体   English   中英

JS / jQuery-用户点击“ Enter”时,blur()不触发?

[英]JS/jQuery - blur() not firing when user hits “Enter”?

我有一个表单字段,我想在用户提交表单之前稍加修改。 具体来说,这是一个位置字段,我需要检查他们是否添加了状态缩写。 如果没有,我添加它。

我正在查看blur(),以便可以看到用户何时在字段中进行制表或单击时:

  $('#views-exposed-form-libraries-map-page-1 .form-item-field-geofield-distance-origin input').blur(function(){
// do stuff
});

当用户单击输入中的“提交”按钮或选项卡时,此方法工作正常。 但是,当用户单击“输入”或“返回”提交表单时,该功能无法运行-我猜是因为没有模糊事件。

当用户单击“输入”或“返回”时,还有其他方法可以捕获输入的值并对其进行编辑吗?

您可以创建一个.submit()来触发聚焦元素上的.blur() ,如下所示:

$('form').submit(function(){
     $(':focus').trigger('blur');
})

设置/ .submit回调,而不是,它将在实际提交表单之前调用,如果需要,您可以取消提交

$("#myForm").submit(function(e){
   //check/do stuff here before submit
   //use e.preventDefault() or return false to stop submission if needed.
});

jQuery的。提交文档

  $(window).keydown(function(event){
     if(event.keyCode == 13) {
       $(':focus').trigger('blur');
       event.preventDefault();
       return false;
     }
   });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM