JavaScript 解决 onblur 与 onclick 冲突

简介:
<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是没问题的)。




本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/javascript-onblur-onclick.html,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发
🎖️JavaScript 中 onclick 和 addEventListener 的区别
onclick是一个 HTML 属性,用于在用户单击特定元素(如按钮或链接)时执行附加的 JavaScript 代码。而 addEventListener 是 JavaScript 中的一种方法,允许开发人员动态地将事件处理程序附加到 HTML 元素上。
267 0
|
JavaScript
JS混写HTML使用onclick传递参数引号的用法
JS混写HTML使用onclick传递参数引号的用法
205 0
|
JavaScript
js:addEventListener与onclick同时使用
js:addEventListener与onclick同时使用
109 0
|
JavaScript
【JS】使用onclick方法把对象本身传输给方法
【JS】使用onclick方法把对象本身传输给方法
122 0
【JS】使用onclick方法把对象本身传输给方法
|
JavaScript 前端开发
javascript中onclick事件能调用多个方法吗
Q: javascript中onclick事件能调用多个方法吗? A: 可以的,方法如下onclick="aa();bb();cc();"每个方法用“;”分号隔开就行了如何联系我:【万里虎】www.
776 0
|
JavaScript 前端开发 UED
href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
原文: href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别 href="javascript:xxx(this);"和onclick="javascript:xxx(this);...
913 0
|
JavaScript
关于js中onclick字符串传参问题
规则: 外变是“”,里面就是‘’外边是‘’,里边就是“”   示例: var a="111"; var html="
690 0
|
JavaScript .NET 开发框架
js触发asp.net的Button的Onclick事件
在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制 的麻烦。 asp.net带来便利的同时,也带来一个问题。在实际应用中一个页面存在多个按钮的情况并不多。
1511 0
|
JavaScript 前端开发
a 中使用了href="javascript:;" 后onclick的跳转不起作用
a 中使用了href="javascript:;" 后onclick的跳转不起作用,其他的如alert等可执行 修改为href="#"即可
789 0