javascript - 从 'onblur' 事件中排除表单按钮,JavaScript

标签 javascript jquery forms onclick onblur

我有一个表单,它对大多数输入字段使用 onblur ,如下所示:

<form>
<input name="..." id="..." onblur="myFunction(name)" />
<button id="..." onclick="submit()">Submit</button>
</form>

表单通过 onblur 事件实时验证某些字段(即用户名、电子邮件),但当用户单击提交按钮时也会进行相同的检查。

目前,当用户单击提交按钮时,首先触发 onblur 事件,然后触发该按钮的 onclick 事件 - 从而运行检查两次并浪费了几秒钟的时间。

有没有办法重写onblur方法来排除用户按下提交按钮时发生的模糊?

我正在考虑 myFunction() 中的一个简单的 if(/*button is clicked*/){},但我不知道如何检查按钮点击。而且,根据当前的性能,按钮单击似乎在模糊之后才被记录。

提前致谢。

最佳答案

你可以这样做:

HTML

<form>
   <input type="text" name="name" id="id" />
   <input type="submit" />
</form>

jQuery

$(document).on('blur', 'input:not([type="submit"])', function(e) {
   var key = e.keyCode;  // the key pressed
   var elem = e.target;  // the element blurred 
   myFunction(name);
});

$(document).on('click', 'input[type="submit"]', function() {
   submit();
});

关于javascript - 从 'onblur' 事件中排除表单按钮,JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27855670/

相关文章:

javascript - 不断收到返回未定义的 TypeError

javascript - 如何设置 jade 包含 gulp-jade

javascript - Jquery .on click事件-删除绑定(bind)元素

javascript - 简化用于显示/隐藏第 n 个子项范围的 jQuery 代码

javascript - 表单未提交文件/未定义索引 : FileInput - PHP/AJAX/jQuery

PHP/HTML 输入类型编号

javascript - 难以理解 if 语句代码

javascript - 如何在不同的函数中使用变量?

javascript - 找不到合适的选择器

javascript - 我的表单验证功能出了什么问题?