JS / jQuery - 当用户点击“Enter”时,模糊()不会触发?

时间:2013-09-21 19:26:54

标签: javascript jquery html forms blur

我有一个表单字段,我希望在用户提交表单之前先进行一些操作。 具体来说,它是一个位置字段,我需要检查它们是否添加了州缩写。如果没有,我加上它。

我正在观看模糊(),所以我可以看到用户的标签或点击了该字段:

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

` 当用户单击输入中的提交按钮或选项卡时,这可以正常工作。 然而,当用户点击“输入”或“返回”提交表单时,该功能不会运行 - 我猜是因为没有模糊事件。

当用户点击“输入”或“返回”时,是否有其他方法可以阻止输入值并进行编辑?

3 个答案:

答案 0 :(得分:4)

你可以在焦点元素上创建一个.submit()来触发.blur()

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

答案 1 :(得分:1)

同样设置一个.submit回调,这将在实际表单提交之前调用,如果需要你可以取消提交

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

JQuery .submit Doc

答案 2 :(得分:0)

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