JavaScript 解决 onblur 与 onclick 冲突
2016-03-18 14:00
701 查看
<input type="text" onblur="function1" /> <input type="button" onclick="function2" value="保存" />
上面的代码会出现一种问题:当点击按钮的时候,onblur 会执行,onblur 一般是用来检查文本框的内容,我们并不希望在点击按钮的时候执行,并且 onblur 会执行在 onclick 之前。
解决方式:
var tid; onblur = function(){ tid = setTimeout(function(){ //do blur save }, 25); }; onclick = function(){ clearTimeout(tid); //do click save }
主要作用是延迟 onblur 的执行,在 onclick 执行的时候,取消 onblur 的执行(注意,点击按钮的时候,onblur 才会被触发,所以延迟 25 ms是没问题的)。
相关文章推荐
- js小问题
- JavaScript笔记1--this的含义
- javascript和excel和struts2的关联
- 拖拽 DIV 效果
- extjs button添加图标
- ant和opencv和javascript的关联
- 页面加载完成后自动执行一个方法函数的JQ、JS方法
- js 模块写法
- 一道阿里笔试题-javascript
- 深入理解JavaScript系列(5):强大的原型和原型链
- js关闭当前页面 (窗口)的几种方式总结
- Js操作cookie
- 用JS获取Html中所有图片文件流然后替换原有链接
- Javascript 检查字符串是否是数字的几种方法
- 前端工程师面试题JavaScript部分(第五季)
- jstl fmt标签
- Angular.js中的指令——易懂全解析
- .NET后台confirm对话框以及JS调用后台相关方法
- Js操作cookie
- JavaScript数组length的方便与痛