javascript - blur事件在点击清除事件之前发生如何解决?
PHP中文网
PHP中文网 2017-04-11 12:17:50
[JavaScript讨论组]

“x”清除按钮和input放在同一个p里面,如何所见边框是p的边框。
给input绑定了blur事件,在输入框失去焦点时验证用户名是否合法。在点击“x”按钮是清空输入框不验证。但是有个问题就是:在点击“×”时input的blur事件触发了之后才清空的输入框,导致如果输入不合法时点击清空按钮的话,输入框下面会显示提示“输入不合法的错误”。请问如何解决这个问题?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
PHPz

在验证的时候加个判断 如果输入框的值为空的时候不上传验证,非空的时候在进行验证操作,就ok了

黄舟

你在blur验证为空的时候延时100秒试试

function blurAction(){
    setTimeout(function(){
        //验证
    },100);
}
高洛峰

按照目前的描述,即使你把顺序触发事件的顺序换过来,也会有问题,此时input为空,输入依旧不合法

所以只能换一种思路:

点击清空的时候,之前之后都不触发校验。那就只能判断点击的是哪一个元素。

所以校验触发事件可以改为:点击除了当前文本框和该清空按钮之外任意元素就触发校验事件

仅供参考

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号