起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3152|回复: 8

js验证阻止焦点移除问题

  [复制链接]

160

主题

794

帖子

1468

积分

金牌会员

Rank: 6Rank: 6

积分
1468
QQ
发表于 2013-4-9 10:04:54 | 显示全部楼层 |阅读模式
var mainActivity = {};

// 标志位,存储焦点离开的对象
__targetOfBlur = null;
// 焦点离开前的检查函数,封装了与焦点相关的规则,使用方通过checkCallback回调函数进行数据规则判定
__checkOfBlur = function(event, checkCallback) {
        // 如果标志位不为空则退出
        if (__targetOfBlur != null) return;
        try {
                // 占位
                __targetOfBlur = event.srcElement;
                // 获取html原生input组件,这里兼容了IE和chrome浏览器
                var input = $(event.srcElement).is("input") ? $(event.srcElement) : $(event.srcElement).find("input");
                // 获取数据
                var text = input.val();
                // 规则判定   
                if (!checkCallback(input, text)) {
                        // 判定失败阻止焦点移出
                        input.focus();
                }
        } finally {
                // 释放标志位
                window.setTimeout(function(){__targetOfBlur = null;}, 10);
        }
};

mainActivity.iptFConsignorBlur = function(event) {
        __checkOfBlur(event, function(input, text){
                // 规则判定   
                        var temp = /^[\u2E80-\uFE4F]+$/;
                        if (!(temp.test(text))) {
                                alert("姓名必须是中文!");
                                // 判断失败,返回false
                                return false;
                        }
                        return true;
               
        });
};
mainActivity.iptFConsigneeBlur = function(event) {
        __checkOfBlur(event, function(input, text){
                // 规则判定   
                        var temp = /^[\u2E80-\uFE4F]+$/;
                        if (!(temp.test(text))) {
                                alert("姓名必须是中文!");
                                // 判断失败,返回false
                                return false;
                        }
                        return true;
        });
};


一个例子,大家可以参考一下...

161

主题

1664

帖子

4090

积分

论坛元老

Rank: 8Rank: 8

积分
4090
QQ
发表于 2013-4-9 10:25:21 | 显示全部楼层

160

主题

794

帖子

1468

积分

金牌会员

Rank: 6Rank: 6

积分
1468
QQ
 楼主| 发表于 2013-4-9 10:27:56 | 显示全部楼层
zxzhzqx 发表于 2013-4-9 10:25

140

主题

571

帖子

1070

积分

金牌会员

Rank: 6Rank: 6

积分
1070
QQ
发表于 2013-4-9 11:02:39 | 显示全部楼层
哟西,还可以这样玩噶

160

主题

794

帖子

1468

积分

金牌会员

Rank: 6Rank: 6

积分
1468
QQ
 楼主| 发表于 2013-4-9 11:49:57 | 显示全部楼层
yufei375718726 发表于 2013-4-9 11:02
哟西,还可以这样玩噶

呵呵...

6

主题

293

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2013-4-9 14:00:47 | 显示全部楼层
收藏了
动脑不费电

论坛不认识milan,学会X5也枉然

140

主题

571

帖子

1070

积分

金牌会员

Rank: 6Rank: 6

积分
1070
QQ
发表于 2013-4-9 14:44:59 | 显示全部楼层
关注的人挺多的嘛

160

主题

794

帖子

1468

积分

金牌会员

Rank: 6Rank: 6

积分
1468
QQ
 楼主| 发表于 2013-4-9 14:50:51 | 显示全部楼层
yufei375718726 发表于 2013-4-9 14:44
关注的人挺多的嘛

还好....

5

主题

20

帖子

54

积分

初级会员

Rank: 2

积分
54
QQ
发表于 2016-8-27 15:15:29 | 显示全部楼层
.....
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2019-4-23 04:35 , Processed in 0.141490 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表