溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS實(shí)現(xiàn)在輸入框內(nèi)輸入@時,郵箱賬號自動補(bǔ)全

發(fā)布時間:2020-07-10 13:45:14 來源:網(wǎng)絡(luò) 閱讀:1233 作者:pmlinjian 欄目:開發(fā)技術(shù)

<!DOCTYPE HTML>

<html lang="en">

<head>

<meta charset="utf-8"/>

<title>郵箱自動補(bǔ)全</title>

<style type="text/css">

.wrap{width:200px;margin:0 auto;}

h2{font-size:36px;text-align:center;line-height:60px;}

p{font-size:20px;text-align:center;line-height:60px;}

.inp{width:190px;border:1px solid #ccc;border-radius:5px;height:30px;line-height:30px;padding:5px;}


#AutoComplete{background:#fff;border:1px solid #4190db;display:none;width:200px;}

#AutoComplete ul{list-style-type:none;margin:0;padding:0;}

#AutoComplete li{color:#333;cursor:pointer;font:12px/22px \5b8b\4f53;text-indent:5px;}

#AutoComplete .hover{background:#6eb6fe;color:#fff;}

</style>

</head>

<body>

<h2>郵箱自動補(bǔ)全 + 上下翻動</h2>

<p>當(dāng)在輸入框內(nèi)輸入 @ 時,自動顯示各個郵箱的下拉列表。</p>

<div class="wrap">

<form action="result.php" method="post">

<input type="text" name="email" id="email" class="inp" autocomplete="off"/><br/><br/>

<input type="text" name="other" class="inp" autocomplete="off"/><br/><br/>

<input type="submit" value="提交表單" id="submit"/>

</form>

</div>


<script type="text/javascript" src="jquery.min.js"></script>


<script type="text/javascript">


jQuery.AutoComplete = function(selector){

var elt = $(selector);

var autoComplete,autoLi;

var strHtml = [];

strHtml.push('<div class="AutoComplete" id="AutoComplete">');

strHtml.push(' <ul class="AutoComplete_ul">');

strHtml.push(' <li class="AutoComplete_title">請選擇郵箱后綴</li>');

strHtml.push(' <li hz="@qq.com"></li>');

strHtml.push(' <li hz="@163.com"></li>');

strHtml.push(' <li hz="@126.com"></li>');

strHtml.push(' <li hz="@sohu.com"></li>');

strHtml.push(' <li hz="@sina.com"></li>');

strHtml.push(' </ul>');

strHtml.push('</div>');

$('body').append(strHtml.join(''));

autoComplete = $('#AutoComplete');

autoComplete.data('elt',elt);

autoLi = autoComplete.find('li:not(.AutoComplete_title)');

autoLi.mouseover(function(){

$(this).siblings().filter('.hover').removeClass('hover');

$(this).addClass('hover');

}).mouseout(function(){

$(this).removeClass('hover');

}).mousedown(function(){

autoComplete.data('elt').val($(this).text()).change();

autoComplete.hide();

});

//用戶名補(bǔ)全+翻動

elt.keyup(function(e){

if(/13|38|40|116/.test(e.keyCode) || this.value == ''){

return false;

}

var username = this.value;

if(username.indexOf('@') == -1){

autoComplete.hide();

return false;

}

autoLi.each(function(){

this.innerHTML = username.replace(/\@+.*/,'') + $(this).attr('hz');

if(this.innerHTML.indexOf(username) >= 0){

$(this).show();

}else{

$(this).hide();

}

}).filter('.hover').removeClass('hover');

autoComplete.show().css({

left: $(this).offset().left,

top: $(this).offset().top + $(this).outerHeight(true) - 1,

position: 'absolute',

zIndex: '99999'

});

if(autoLi.filter(':visible').length == 0){

autoComplete.hide();

}else{

autoLi.filter(':visible').eq(0).addClass('hover');

}

}).keydown(function(e){

if(e.keyCode == 38){ //上

autoLi.filter('.hover').prev().not('.AutoComplete_title').addClass('hover').next().removeClass('hover');

}else if(e.keyCode == 40){ //下

autoLi.filter('.hover').next().addClass('hover').prev().removeClass('hover');

}else if(e.keyCode == 13){ //Enter

autoLi.filter('.hover').mousedown();

e.preventDefault(); //如有表單,阻止表單提交

}

}).focus(function(){

autoComplete.data('elt',$(this));

}).blur(function(){

autoComplete.hide();

});

}



$(function(){

$.AutoComplete('#email');

});

</script>

</body>

</html>


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI