首页 > 其他 > 详细

input 的blur事件之后button的onclick事件不执行解决方案

时间:2015-12-02 16:19:42      阅读:291      评论:0      收藏:0      [点我收藏+]

最近发现网页程序中有个BUG,就是在input标签输入框中输入完数据后,直接点击“取消” 按钮的时候、出现网页崩死的情况;

 

经过小主酸菜我,各种方法的尝试后,找到一个初步可以解决的方案,在这里分享给大家:

 

首先,分析一下原因:input标签直接离开后,触发的事件是input标签的blur事件;然后直接去点击了取消按钮,执行button事件。

 

由于js是单线程的所以就出现了问题,现在需要让blur先执行验证,然后在触发click事件。

 

所以:咱们的解决方案就是,要让他blur事件先验证了,然后再执行button的onclick事件,让js一步一步的来;

给button的onclick事件写一个推迟执行的方法、利用setTimeout();

 

实例代码如下:

 

 

<!--<input type="reset" onclick="BackToMainPage()" value="取消" class="reset tf" id="btnCancel" />   这是原来的取消按钮的代码,下图为改善后。-->
                        

<input type="reset" value="取消" class="reset tf" id="btnCancel" />

 

 $("#btnCancel").mousedown(
        function (e) {
            setTimeout(BackToMainPage(), 100);
        });

 

 技术分享

 

 

写的不太好,如有其它问题,请指教。

 

input 的blur事件之后button的onclick事件不执行解决方案

原文:http://www.cnblogs.com/sauerkraut/p/5013231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!