亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery實現郵箱自動補全功能示例分享

2019-11-20 21:05:40
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

(function($){
    $.fn.autoMail = function(options){
        var autoMail = $(this);
        var _value   = '';
        var _index   = -1;
        var _width   = autoMail.outerWidth();
        var _height  = autoMail.outerHeight();
        var _left    = autoMail.offset().left;
        var _top     = autoMail.offset().top;
        autoMail.defaults = {
            deValue : '請輸入郵箱地址',
            textCls : 'text-gray',
            listCls : 'list-mail',
            listTop : 1,
            mailArr  : ["qq.com","gmail.com","126.com","163.com","hotmail.com","yahoo.com","yahoo.com.cn","live.com","sohu.com","sina.com"]
        }
        //初始化
        autoMail.init = function(){
            autoMail.vars = $.extend({},autoMail.defaults,options);
            autoMail.val(autoMail.vars.deValue).addClass(autoMail.vars.textCls);
            autoMail.click(function(event){
                autoMail.select().removeClass(autoMail.vars.textCls);
                if(autoMail.val() != autoMail.vars.deValue){
                    autoMail.add();
                    autoMail.order(_value);
                    autoMail.list.find('.item').each(function(){
                        if($(this).text() == autoMail.val()){
                            $(this).siblings('.item').removeClass('select');
                            $(this).addClass('select');
                            return false;
                        }
                    })
                }
                event.stopPropagation();
            })
            autoMail.blur(function(event){
                if(autoMail.val() == '' || autoMail.val() == autoMail.vars.deValue){
                    alert(autoMail.val())
                    autoMail.val(autoMail.vars.deValue).addClass(autoMail.vars.textCls);
                }
            })
            //文本域鍵盤松開事件
            autoMail.keyup(function(event){
                if($(autoMail.list).length == 0){
                    autoMail.add();
                }
                if(autoMail.list.length > 0){
                    var keyCode = event.keyCode;
                    //alert(keyCode)
                    switch(keyCode){
                        case 13:
                            autoMail.remove();
                            autoMail.blur();
                            break;
                        case 38:
                            _index--;
                            if(_index < 0){
                                _index = 0;
                            }
                            autoMail.keyOperate(_index);
                            break;
                        case 40:
                            _index++;
                            if(_index > $('.item',autoMail.list).length - 1){
                                _index = ('.item',autoMail.list).length - 1
                            }
                            autoMail.keyOperate(_index);
                            break;
                        default:
                            if(autoMail.val().indexOf('@') < 0){
                                _value = autoMail.val();
                                autoMail.order(_value);     
                            }    
                    }  
                }
            })
            $(document).click(function(){
                if($(autoMail.list).length > 0){
                    autoMail.remove();
                    autoMail.blur();
                }
            })
        }
        //創建列表
        autoMail.create = function(){
            var li = '';
            for(var i = 0; i < autoMail.vars.mailArr.length; i++){
                li += '<li class="item">'+ '<span class="style">' + '@' + autoMail.vars.mailArr[i] + '</span>' + '</li>';
            }
            autoMail.list = $('<div class="'+ autoMail.vars.listCls +'"><ul>'+ li +'</ul></div>');
            autoMail.list.css({
                'position' : 'absolute',
                'left'     : _left,
                'top'      : _top + _height + autoMail.vars.listTop,
                'min-width': _width
            })
            autoMail.list.appendTo($('body'));
            //郵箱列表綁定事件
            autoMail.list.find('.item').click(function(event){
                autoMail.getVal($(this));
                autoMail.remove();
                event.stopPropagation();
            })
            autoMail.list.find('.item').hover(
                function(){ $(this).addClass('hover'); },
                function(){ $(this).removeClass('hover'); }
            )
            return autoMail.list;
        }
        //序列化列表
        autoMail.order = function(_value){
            $('.name',autoMail.list).remove();
            var name = $('<span class="name">'+ _value +'</span>');
            $('.item',autoMail.list).prepend(name);
        }
        //添加列表
        autoMail.add = function(){
            if(typeof autoMail.list == 'undefined' || autoMail.list.length < 1) autoMail.create();
        }
        //移除列表
        autoMail.remove = function(){
            if(autoMail.list.length > 0){
                autoMail.list.remove();
                delete autoMail.list;
            }
        }
        //獲取值
        autoMail.getVal = function(obj){
            if($('.name',obj).text() != ''){
                var selectValue = obj.text();
                autoMail.val(selectValue);  
            }else{
                return false;
            }
        }
        //鍵盤操作
        autoMail.keyOperate = function(_index){
            $('.item',autoMail.list).eq(_index).addClass('hover').siblings('.item').removeClass('hover');
            autoMail.val($('.item',autoMail.list).eq(_index).text());
        }
        //開始初始話動作...
        autoMail.init();
    }
})(jQuery)

復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>無標題文檔</title>
        <script type="text/javascript" src="./jquery.js"></script>
        <script type="text/javascript" src="./autoMail.js"></script>
        <script type="text/javascript">
        $(function(){
            $('.automail').autoMail();
        }) 
        </script>
        <style type="text/css">
        *{padding: 0; margin: 0;}
        body{font-family: "微軟雅黑"; color: #333; font-size: 12px;}
        ul{list-style: none;}
        input{ width: 180px; height: 16px; line-height: 16px; margin: 100px; padding: 4px; border: 1px solid #aaa; font-size: 12px; font-family: "微軟雅黑"; }
        .list-mail ul{ border: 1px solid #aaa; line-heihgt: 24px; padding: 6px; }
        .list-mail li{ cursor: pointer; padding: 2px 3px; margin-bottom: 2px; }
        .list-mail .name{ color: #982114; }
        .list-mail .hover{ background: #fefacf; }
        .list-mail .select{ background: #dedaae; }
        </style>
    </head>
    <body>
        <div class="test"></div>
        <input type="text" class="automail" />
    </body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩一区在线| 97激碰免费视频| 热久久免费国产视频| 国产精品第一视频| 国产精品1区2区在线观看| 亚洲男人第一av网站| 中文字幕欧美亚洲| 97在线观看视频| 日韩在线精品一区| 亚洲国产精品va在线看黑人| 亚洲国产精品久久久| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久久久久久影视| 亚洲欧美日韩在线一区| 国产日韩欧美视频在线| 亚洲久久久久久久久久| 国产精品xxxxx| 色悠悠久久久久| 色在人av网站天堂精品| 欧美国产日韩免费| 国产精品中文字幕在线观看| 久久精品夜夜夜夜夜久久| 久久精品2019中文字幕| 亚洲精品少妇网址| 国产精品一区二区女厕厕| 亚洲图片欧美日产| 精品国产福利在线| 日韩精品999| 清纯唯美亚洲激情| 亚洲成人精品av| 精品国内产的精品视频在线观看| 91精品视频免费看| 欧美精品久久久久久久久久| 国产精品视频资源| 日韩av网址在线观看| 亚洲欧美日韩图片| 欧美日韩在线第一页| 国产精品美女久久久久av超清| 欧美性少妇18aaaa视频| 91亚洲国产精品| 欧美电影免费在线观看| 欧美猛少妇色xxxxx| 亚洲国产精品久久久久秋霞蜜臀| 亚洲人成电影网站色xx| 精品久久香蕉国产线看观看亚洲| 国产精品视频一区国模私拍| 欧美日韩国产限制| 久久久精品欧美| 精品视频在线导航| 欧洲成人免费视频| 亚洲高清一区二| 亚洲欧美国产日韩中文字幕| www.亚洲一二| 国产情人节一区| 中文字幕成人在线| 亚洲精品免费网站| 日韩综合中文字幕| 成人在线小视频| 2019中文在线观看| 51精品在线观看| 亚洲天堂开心观看| 国产精品视频专区| 成人久久久久久| 欧美一区二区视频97| 91高清免费在线观看| 国产日韩av在线播放| 欧美激情在线观看视频| 国产中文日韩欧美| 国产精品久久久久久久久久免费| 日韩精品在线免费播放| 久久成人精品一区二区三区| 91福利视频在线观看| 亚洲国产精品悠悠久久琪琪| 欧美日韩免费看| 国产精品综合不卡av| 高清一区二区三区日本久| 国产精品高清免费在线观看| 久久精品亚洲一区| 亚洲女人被黑人巨大进入| 亚洲精品资源在线| 午夜精品久久久久久久男人的天堂| 久久天堂av综合合色| 亚洲精品自产拍| 成人情趣片在线观看免费| 国产激情久久久| 日韩最新中文字幕电影免费看| 亚洲精品xxx| 亚洲色图狂野欧美| 精品动漫一区二区| 一本色道久久综合狠狠躁篇的优点| 欧美一级电影在线| 久久久久九九九九| 中文字幕不卡在线视频极品| 久久精品这里热有精品| 热久久美女精品天天吊色| 97成人精品区在线播放| 久久韩国免费视频| 国产精品白丝jk喷水视频一区| 日韩免费看的电影电视剧大全| 日韩中文在线中文网三级| 91在线免费网站| 亚洲视频视频在线| 亚洲男人第一av网站| 成人激情免费在线| 国产精品夜间视频香蕉| 国产精品久久久久久av福利| 亚洲男女自偷自拍图片另类| 亚洲视频在线观看视频| 久久91精品国产91久久久| 色偷偷av一区二区三区| 亚洲片在线观看| 亚洲九九九在线观看| 精品国产成人在线| 狠狠躁夜夜躁久久躁别揉| 精品国产网站地址| 欧美成人精品一区二区三区| 91九色在线视频| 主播福利视频一区| 欧美丰满少妇xxxxx做受| 亚洲国产精品小视频| 国产日韩欧美一二三区| 91黑丝高跟在线| 国产成人中文字幕| 亚州av一区二区| 成人做爽爽免费视频| 国产亚洲精品久久久久久| 欧美华人在线视频| 欧美日韩成人在线播放| 国产精品男人爽免费视频1| 精品久久久久久久久久久久| 国产精品久久激情| 国产女精品视频网站免费| 国产在线高清精品| 欧美国产日韩中文字幕在线| 国产精品情侣自拍| 亚洲品质视频自拍网| 成人免费观看49www在线观看| 日韩小视频在线观看| 亚洲成人久久电影| 精品女同一区二区三区在线播放| 亚洲人成绝费网站色www| 欧美国产日韩一区二区在线观看| 亚洲精品日韩丝袜精品| 欧美国产日韩一区| 亚洲www在线观看| 日韩欧美综合在线视频| 国产亚洲福利一区| 精品人伦一区二区三区蜜桃免费| 欧美成人h版在线观看| 日韩成人性视频| 九九久久久久99精品| 色青青草原桃花久久综合| 久久琪琪电影院| 欧美日本在线视频中文字字幕| 亚洲视频在线观看免费| 成人激情在线观看| 亚洲激情在线观看| 亚洲人免费视频| 狠狠色噜噜狠狠狠狠97| 日韩中文字幕久久| 成人精品视频99在线观看免费| 亚洲午夜未满十八勿入免费观看全集| 国产精品久久久久高潮| 亚洲国产成人久久|