[英]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.
});
$(window).keydown(function(event){
if(event.keyCode == 13) {
$(':focus').trigger('blur');
event.preventDefault();
return false;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.