欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

用js實現輸入提示(自動完成)

轉帖|其它|編輯:郝浩|2011-02-28 13:27:15.000|閱讀 532 次

概述:以前也寫過一個jQuery的這種插件,但是很多地方根本不用jQuery,這個功能也有很多其它庫支持,但是為了用這個功能而加載很多js插件,這樣效率明顯下降了很多,而且這個東西平時也很常用,所以一決心自己寫了個相對比較獨立的。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

  以前也寫過一個jQuery的這種插件,但是很多地方根本不用jQuery,這個功能也有很多其它庫支持,但是為了用這個功能而加載很多js插件,這樣效率明顯下降了很多,而且這個東西平時也很常用,所以一決心自己寫了個相對比較獨立的。

完成有以下功能:

  • 輸入字符會把以輸入字符開頭的提示出來。
  • 支持上下方向鍵選擇提示選項,支持循環
  • 支持綁定一個數組提示,支持ajax傳遞輸入框值請求數據。
  • 支持多個選擇的dom元素一塊綁定數據實現輸入提示。各dom元素也可以單獨綁定自己的數據實現輸入提示,互不影響。
  • 支持中文。

      首先是js的核心部分,其各部分都有較詳細的說明,代碼如下:

001 ;(function(window){
002 /* 插件開始 */
003 var autoComplete=function(o){
004 var handler=(function(){
005 var handler=function(e,o){ return new handler.prototype.init(e,o); };/* 為每個選擇的dom都創建一個相對應的對象,這樣選擇多個dom時可以很方便地使用 */
006 handler.prototype={
007 e:null, o:null, timer:null, show:0, input:null, popup:null,
008 init:function(e,o){/* 設置初始對象 */
009 this.e=e, this.o=o,
010 this.input=this.e.getElementsByTagName(this.o.input)[0],
011 this.popup=this.e.getElementsByTagName(this.o.popup)[0],
012 this.initEvent();/* 初始化各種事件 */
013 },
014 match:function(quickExpr,value,source){/* 生成提示 */
015 var li = null;
016 for(var i in source){
017 if( value.length>0 && quickExpr.exec(source[i])!=null ){
018 li = document.createElement('li');
019 li.innerHTML = '<a href="javascript:;">'+source[i]+'</a>';
020 this.popup.appendChild(li);
021 }
022 }
023 if(this.popup.getElementsByTagName('a').length)
024 this.popup.style.display='block';
025 else
026 this.popup.style.display='none';
027 },
028 ajax:function(type,url,quickExpr,search){/* ajax請求遠程數據 */
029 var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
030 xhr.open(type,url,true);/* 同異步在此修改 */
031 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
032 var that=this;
033 xhr.onreadystatechange = function(){
034 if(xhr.readyState==4) {
035 if(xhr.status==200) {
036 var data = ;
037 that.match(quickExpr,search,data);/* 相同于成功的回調函數 */
038 }else{
039 alert("請求頁面異常!");/* 請求失敗 */
040 }
041 }
042 };
043 xhr.send(null);
044 },
045 fetch:function(ajax,search,quickExpr){
046 var that=this;
047 this.ajax(ajax.type,ajax.url+search,quickExpr,search);
048 },
049 initEvent:function(){/* 各事件的集合 */
050 var that=this;
051 this.input.onfocus = function(){
052 var value=this.value, quickExpr=RegExp('^'+value,'i'), self=this;
053 that.timer=setInterval(function(){
054 if(value!=self.value){/* 判斷輸入內容是否改變,兼容中文 */
055 value=self.value;
056 that.popup.innerHTML='';
057 if(value!=''){
058 quickExpr=RegExp('^'+value);
059 if(that.o.source) that.match(quickExpr,value,that.o.source);
060 else if(that.o.ajax) that.fetch(that.o.ajax,value,quickExpr);
061 }
062 }
063 },200);
064 };
065 this.input.onblur = function(){/* 輸入框添加事件 */
066 clearInterval(that.timer);
067 var current=-1;/* 記住當前有焦點的選項 */
068 var els = that.popup.getElementsByTagName('a');
069 var len = els.length-1;
070 var aClick = function(){
071 that.input.value=this.firstChild.nodeValue;
072 that.popup.innerHTML='';
073 that.popup.style.display='none';
074 };
075 var aFocus = function(){
076 for(var i=len; i>=0; i--){
077 if(this.parentNode===that.popup.children[i]){
078 current = i;
079 break;
080 }
081 }
082 for(var k in that.o.elemCSS.focus)
083 this.style[k] = that.o.elemCSS.focus[k];
084 };
085 var aBlur= function(){
086 for(var k in that.o.elemCSS.blur)
087 this.style[k] = that.o.elemCSS.blur[k];
088 };
089 var aKeydown = function(event){
090 event = event || window.event;/* 兼容IE */
091 if(event.keyCode==40){/* 處理上下方向鍵事件方便選擇提示的選項 */
092 current++;
093 if(current<0) current=len;/* 處理循環 */
094 if(current>len) current=0;
095 that.popup.getElementsByTagName('a')[current].focus();
096 }else if(event.keyCode==38){
097 current--;
098 if(current>len) current=0;
099 if(current<0) current=len;
100 that.popup.getElementsByTagName('a')[current].focus();
101 }
102 };
103 for(var i=0; i<els.length; i++){/* 為每個選項添加事件 */
104 els[i].onclick = aClick;
105 els[i].onfocus = aFocus;
106 els[i].onblur = aBlur;
107 els[i].onkeydown = aKeydown;
108 }
109 };
110 this.input.onkeydown = function(event){
111 event = event || window.event;/* 兼容IE */
112 if(event.keyCode==40){
113 that.popup.blur();
114 if(that.popup.getElementsByTagName('a')[0])
115 that.popup.getElementsByTagName('a')[0].focus();
116 }
117 };
118 this.e.onmouseover = function(){ that.show=1; };
119 this.e.onmouseout = function(){ that.show=0; };
120 addEvent.call(document,'click',function(){ if(that.show==0) that.popup.style.display='none'; });/* 處理提示框dom元素不支持onblur的情況 */
121 }
122 };
123 handler.prototype.init.prototype=handler.prototype;/* JQuery style,這樣我們在處的時候就不用每個dom元素都用new來創建對象了 */
124 return handler;/* 把內部的處理函數傳到外部 */
125 })();
126 if(this.length){/* 處理選擇多個dom元素 */
127 for(var a=this.length-1; a>=0; a--){/* 調用方法為每個選擇的dom生成一個處理對象,使它們不互相影響 */
128 handler(this[a],o);
129 }
130 }else{/* 處理選擇一個dom元素 */
131 handler(this,o);
132 }
133 return this;
134 };
135 return window.autoComplete = autoComplete;/* 暴露方法給全局對象 */
136 /* 插件結束 */
137 })(window);

其中了一些全局的自定義函數,如addEvent和在例子中將要用到的getElementsByClassName函數如下:

01 var getElementsByClassName = function (searchClass, node, tag) {/* 兼容各瀏覽器的選擇class的方法;(寫法參考了博客園://www.cnblogs.com/rubylouvre/archive/2009/07/24/1529640.html,想了解更多請看這個地址) */
02 node = node || document, tag = tag ? tag.toUpperCase() : "*";
03 if(document.getElementsByClassName){/* 支持getElementsByClassName的瀏覽器 */
04 var temp = node.getElementsByClassName(searchClass);
05 if(tag=="*"){
06 return temp;
07 } else {
08 var ret = new Array();
09 for(var i=0; i<temp.length; i++)
10 if(temp[i].nodeName==tag)
11 ret.push(temp[i]);
12 return ret;
13 }
14 }else{/* 不支持getElementsByClassName的瀏覽器 */
15 var classes = searchClass.split(" "),
16 elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag),
17 patterns = [], returnElements = [], current, match;
18 var i = classes.length;
19 while(--i >= 0)
20 patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
21 var j = elements.length;
22 while(--j >= 0){
23 current = elements[j], match = false;
24 for(var k=0, kl=patterns.length; k<kl; k++){
25 match = patterns[k].test(current.className);
26 if(!match) break;
27 }
28 if(match) returnElements.push(current);
29 }
30 return returnElements;
31 }
32 };
33 var addEvent=(function(){/* 用此函數添加事件防止事件覆蓋 */
34 if(document.addEventListener){
35 return function(type, fn){ this.addEventListener(type, fn, false); };
36 }else if(document.attachEvent){
37 return function(type,fn){
38 this.attachEvent('on'+type, function () {
39 return fn.call(this, window.event);/* 兼容IE */
40 });
41 };
42 }
43 })();

最后是調用的部分,調用和每個參數的部分都有說明和注意事項,再說一個其中source和ajax參數是二選一,如果二者都寫只有source是有用的,調用代碼如下:

1 addEvent.call(null,'load',function(){
2 autoComplete.call( getElementsByClassName('autoComplete'), {/* 使用call或apply調用此方法 */
3 source:['0123','023',123,1234,212,214,'033333','0352342',1987,17563,20932],/* 提示時在此數組中搜索 */
4 //ajax:{ type:'post',url:'./php/fetch.php?search=' },/* 如果使用ajax則返回的數據格式要與source相同,如為字符串"[111,222,333,444]"等形式。*/
5 elemCSS:{ focus:{'color':'#00ff00','background':'red'}, blur:{'color':'#ff0000','background':'transparent'} },/* 些對象中的key要js對象中的style屬性支持 */
6 input:'input',/* 輸入框使用input元素 */
7 popup:'ul'/* 提示框使用ul元素 */
8 });
9 });

代碼比較多,但是測試的比較完整,基本沒有什么大毛病了,如果有什么毛病請大家指正,謝謝!

下面是個完整的例子,大家可以在線測試一下,歡迎指正:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title>autoComplete</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.autoComplete {margin:8px;position:relative;float:left;}
.autoComplete input {width:200px;height:25px;margin:0;padding:0;line-height:25px;}
.autoComplete ul {z-index:-12;padding:0px;margin:0px;border:1px #333 solid;width:200px;background:white;display:none;position:absolute;left:0;top:28px;*margin-left:9px;*margin-top:2px;margin-top:1px\0;}
.autoComplete li {list-style:none;}
.autoComplete li a {display:block;color:#000;text-decoration:none;padding:1px 0 1px 5px;_width:97%;}
.autoComplete li a:hover {color:#000;background:#ccc;border:none;}
</style>
<script type="text/javascript">
//<![CDATA[
var getElementsByClassName = function (searchClass, node, tag) {/* 兼容各瀏覽器的選擇class的方法;(寫法參考了博客園://www.cnblogs.com/rubylouvre/archive/2009/07/24/1529640.html,想了解更多請看這個地址) */
node = node || document, tag = tag ? tag.toUpperCase() : "*";
if(document.getElementsByClassName){/* 支持getElementsByClassName的瀏覽器 */
var temp = node.getElementsByClassName(searchClass);
if(tag=="*"){
return temp;
} else {
var ret = new Array();
for(var i=0; i<temp.length; i++)
if(temp[i].nodeName==tag)
ret.push(temp[i]);
return ret;
}
}else{/* 不支持getElementsByClassName的瀏覽器 */
var classes = searchClass.split(" "),
elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag),
patterns = [], returnElements = [], current, match;
var i = classes.length;
while(--i >= 0)
patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
var j = elements.length;
while(--j >= 0){
current = elements[j], match = false;
for(var k=0, kl=patterns.length; k<kl; k++){
match = patterns[k].test(current.className);
if(!match) break;
}
if(match) returnElements.push(current);
}
return returnElements;
}
};
var addEvent=(function(){/* 用此函數添加事件防止事件覆蓋 */
if(document.addEventListener){
return function(type, fn){ this.addEventListener(type, fn, false); };
}else if(document.attachEvent){
return function(type,fn){
this.attachEvent('on'+type, function () {
return fn.call(this, window.event);/* 兼容IE */
});
};
}
})();
;(function(window){
/* 插件開始 */
var autoComplete=function(o){
var handler=(function(){
var handler=function(e,o){ return new handler.prototype.init(e,o); };/* 為每個選擇的dom都創建一個相對應的對象,這樣選擇多個dom時可以很方便地使用 */
handler.prototype={
e:null, o:null, timer:null, show:0, input:null, popup:null,
init:function(e,o){/* 設置初始對象 */
this.e=e, this.o=o,
this.input=this.e.getElementsByTagName(this.o.input)[0],
this.popup=this.e.getElementsByTagName(this.o.popup)[0],
this.initEvent();/* 初始化各種事件 */
},
match:function(quickExpr,value,source){/* 生成提示 */
var li = null;
for(var i in source){
if( value.length>0 && quickExpr.exec(source[i])!=null ){
li = document.createElement('li');
li.innerHTML = '<a href="javascript:;">'+source[i]+'</a>';
this.popup.appendChild(li);
}
}
if(this.popup.getElementsByTagName('a').length)
this.popup.style.display='block';
else
this.popup.style.display='none';
},
ajax:function(type,url,quickExpr,search){/* ajax請求遠程數據 */
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
xhr.open(type,url,true);/* 同異步在此修改 */
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
var that=this;
xhr.onreadystatechange = function(){
if(xhr.readyState==4) {
if(xhr.status==200) {
var data = ;
that.match(quickExpr,search,data);/* 相同于成功的回調函數 */
}else{
alert("請求頁面異常!");/* 請求失敗 */
}
}
};
xhr.send(null);
},
fetch:function(ajax,search,quickExpr){
var that=this;
this.ajax(ajax.type,ajax.url+search,quickExpr,search);
},
initEvent:function(){/* 各事件的集合 */
var that=this;
this.input.onfocus = function(){
var value=this.value, quickExpr=RegExp('^'+value,'i'), self=this;
that.timer=setInterval(function(){
if(value!=self.value){/* 判斷輸入內容是否改變,兼容中文 */
value=self.value;
that.popup.innerHTML='';
if(value!=''){
quickExpr=RegExp('^'+value);
if(that.o.source) that.match(quickExpr,value,that.o.source);
else if(that.o.ajax) that.fetch(that.o.ajax,value,quickExpr);
}
}
},200);
};
this.input.onblur = function(){/* 輸入框添加事件 */
clearInterval(that.timer);
var current=-1;/* 記住當前有焦點的選項 */
var els = that.popup.getElementsByTagName('a');
var len = els.length-1;
var aClick = function(){
that.input.value=this.firstChild.nodeValue;
that.popup.innerHTML='';
that.popup.style.display='none';
};
var aFocus = function(){
for(var i=len; i>=0; i--){
if(this.parentNode===that.popup.children[i]){
current = i;
break;
}
}
for(var k in that.o.elemCSS.focus)
this.style[k] = that.o.elemCSS.focus[k];
};
var aBlur= function(){
for(var k in that.o.elemCSS.blur)
this.style[k] = that.o.elemCSS.blur[k];
};
var aKeydown = function(event){
event = event || window.event;/* 兼容IE */
if(event.keyCode==40){/* 處理上下方向鍵事件方便選擇提示的選項 */
current++;
if(current<0) current=len;
if(current>len) current=0;
that.popup.getElementsByTagName('a')[current].focus();
}else if(event.keyCode==38){
current--;
if(current>len) current=0;
if(current<0) current=len;
that.popup.getElementsByTagName('a')[current].focus();
}
};
for(var i=0; i<els.length; i++){/* 為每個選項添加事件 */
els[i].onclick = aClick;
els[i].onfocus = aFocus;
els[i].onblur = aBlur;
els[i].onkeydown = aKeydown;
}
};
this.input.onkeydown = function(event){
event = event || window.event;/* 兼容IE */
if(event.keyCode==40){
that.popup.blur();
if(that.popup.getElementsByTagName('a')[0])
that.popup.getElementsByTagName('a')[0].focus();
}
};
this.e.onmouseover = function(){ that.show=1; };
this.e.onmouseout = function(){ that.show=0; };
addEvent.call(document,'click',function(){ if(that.show==0) that.popup.style.display='none'; });/* 處理提示框dom元素不支持onblur的情況 */
}
};
handler.prototype.init.prototype=handler.prototype;/* JQuery style,這樣我們在處的時候就不用每個dom元素都用new來創建對象了 */
return handler;/* 把內部的處理函數傳到外部 */
})();
if(this.length){/* 處理選擇多個dom元素 */
for(var a=this.length-1; a>=0; a--){/* 調用方法為每個選擇的dom生成一個處理對象,使它們不互相影響 */
handler(this[a],o);
}
}else{/* 處理選擇一個dom元素 */
handler(this,o);
}
return this;
};
return window.autoComplete = autoComplete;/* 暴露方法給全局對象 */
/* 插件結束 */
})(window);
/* 調用 */
addEvent.call(null,'load',function(){
autoComplete.call( getElementsByClassName('autoComplete'), {/* 使用call或apply調用此方法 */
source:['0123','023',123,1234,212,214,'033333','0352342',1987,17563,20932],/* 提示時在此數組中搜索 */
//ajax:{ type:'post',url:'./php/fetch.php?search=' },/* 如果使用ajax則遠程返回的數據格式要與source相同 */
elemCSS:{ focus:{'color':'#00ff00','background':'red'}, blur:{'color':'#ff0000','background':'transparent'} },/* 些對象中的key要js對象中的style屬性支持 */
input:'input',/* 輸入框使用input元素 */
popup:'ul'/* 提示框使用ul元素 */
});
});
//]]>
</script>
</head>
<body><!-- 這所以使用這么多的z-index是因為ie6和ie7的問題 -->
<div>
<div class="autoComplete" style="z-index:19"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:18"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:17"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:16"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:15"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:14"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:13"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:12"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:11"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:10"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:9"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:8"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:7"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:6"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:5"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:4"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:3"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:2"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:1"> <input value="input" /> <ul><li></li></ul> </div>
<div class="autoComplete" style="z-index:0"> <input value="input" /> <ul><li></li></ul> </div>
<div style="clear:both;"></div>
</div>
<div style="border:3px red double;margin:15px;padding:5px;">
<h3 style="line-height:10px;">Tip:</h3>
<ul>
<li>輸入0、1,2會得到提示。</li>
<li>用鼠標或上下鍵可以選擇提示。</li>
<li>選擇點擊鼠標或點回車可以選擇選項。</li>
<li>可以修改調用處,使各個輸入框提示不同內容。</li>
</ul>
</div>
</body>
</html>

 



標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:網絡轉載

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
激情一区| 成在线人免费视频 | 一区二区三区欧美 | 欧美三级不卡在线观看 | 国产吹潮视频在线观看 | 亚洲日本在线在线看片4k超清 | 中文字幕亚洲精品资源网 | 欧美激情αv一区二区三区 国语在线看免 | 欧美性猛交xxxxxxxx | 影音先锋 | 国产高清自拍一区 | 在线日本看片免费人成视久网 | 欧美激情综合网 | 国产乱码精品一区二区三区四 | 国产又粗又硬又长又爽 | 亚洲欧美日韩中文字幕一区 | 在线观看的精 | 91啪国自产最新91啪国自产 | 亚洲高清一区 | 亚洲一页 | 在线看推理网站 | 99re热视频这里只有精 | 国产精品免费大片 | 亚洲精品亚洲人成在线播放 | 亚洲小说欧美激情另类 | 国产在线精品一区二区不卡 | 热播电视剧免费观看 | 一二三产区区 | 精品日产卡一卡二卡三入口 | 国产精品免费入口视频 | 日韩欧美另类一区二区三区 | 精品一区二区三区免费 | 自拍偷自拍亚洲精品偷一 | 制服丝袜中文字幕在线 | 日韩中文字幕高清一区 | 银杏视频在线官网 | 成人性午夜视频在线观看 | 91大视频网站 | 亚洲国产综合另类视频在线观看 | 成人动视频国产欧美精品 | 免费观看电影真不卡 | 伊人影院视频 | 超级碰97直线国产免费公开 | 吖v国产在线高清播放 | 国产一区二区三区精品专区 | 国产精品亚洲综合一区在线观看 | 亚洲一区二三区好的精华液 | 真实国产熟睡乱子伦视频 | 果冻传媒视频一二在线观看 | 亚色九九九全国免费视频 | 国产欧美一区二区三区在线看 | 92国产精品午夜福利免费 | 果冻文化传媒官网 | 国产精品h片在线播放 | 中文字幕免费观看一区 | 国产99对白在线播放 | 乱子伦精品视频 | 91精品欧美一区二区综合在线 | 亚洲综合欧美日韩国产一区二区桃 | 色色www| 直播app下载 | 最近日本韩国高清免费大全 | 免费视频6| 成人人免费夜夜视频观看 | 亚洲精品天堂在 | 日韩欧美精品成人免费高清 | 国产人成在线观看 | 国产中文字幕精品视频 | 国产视频综合网 | 国产伦精品一区二区三区男技 | 一区二区视频在线观看 | 亚洲人成手机 | 欧美日韩精品在线播放 | 国产日本欧美 | 国产精品视频免费一区二区三区 | 国产精品成人一区二区三区 | 国产在线精品成人一区二区 | 国产一级一片免费播放放 | 日本欧美一区二区三区乱码 | 欧亚一级毛| 国产一区福利在线 | 国产乱人视频免费观看 | 污污污污污www网站免费观看 | 亚洲一区精品中文字幕 | 亚洲色自偷自拍另类小说 | 国产在线视频无卡a | 午夜看片在线观 | 精品亚洲 | 亚洲国产精品午夜伦不卡 | 三级高清精品国产 | 亚洲国产的精品太乱码一区二区 | 老熟女乱一区二区三区视频 | 中文字幕日韩wm二在线看 | 国产老女人精品免费视频 | 天天搞夜夜 | 国产高清国内精品 | 亚洲精品变态另类虐交 | 91精品成人影院 | 国产亚洲日韩网暴欧美台湾 | 亚洲精品日韩专区 | 无人区一码二码三码区别 | 99ri视频一区二区三区 | 国产精品多p对白交换绿 | 大香伊人中文字幕伊人 | 四区免费视频 | 国产乱理伦片在线观看网站 | 日本亚洲精品 | 日本最新高清不卡一区二区 | 国产微拍精品一区二区 | 777米奇 | 国产亚洲精品综合一区 | 美女自卫慰出水免费视频 | 亚洲日韩精 | 靠逼视频一区二区三区 | 国产欧美va天堂在线电 | 亚洲精品视频一区二 | 传媒mv在线观看视频 | 日本又黄又爽gif动态图 | 善良的老师中文字 | 成人高清| 99精品欧美一区二 | 国语自产拍在线观看对白 | 国产在线一区二区三区在线 | 秋霞特一级 | 一级a看片免费视频 | 日本精品二三区视频在线观看 | 污污污污污www网站免费观看 | 男子操性感黑丝美女视频 | 欧美一区二区三区激情 | 成人三级 | 国产欧美精品亚洲日本一区 | 最新国产在线视频 | 国产一区二区视频免费 | 日本欧美一区二区三区乱码 | 欧美三级极品视频在线观看 | 国产欧美日本在 | 中文字幕人成人乱码亚洲影 | 中文字幕一区二区三区日韩精品 | 免费电影在线观看 | 亚洲欧美日韩综合第一页 | 精品亚洲精品中文字幕乱码 | 亚洲国产一区二区三区a毛 国产美女淫秽一区二区三区 | 国产精品v日韩精品v欧美精品 | 欧美性色黄大片www喷水 | 欧美午夜网 | 亚洲欧美日韩国产精品一区第一页 | 三三影院网 | 免费高清在线电影院 | 色综合中文字幕色综合激情 | 一区国产在线视频 | 国产午夜福利电影免费在线观看 | 在线视频一区二区三区 | 亚洲高清在线看 | 成人午夜福 | 好看动漫 | 国产免费v片在线观看完整版 | 国产在线精品一区二区三区直播 | 国自产精品手机在线观看视频 | 亚洲一区二区偷拍第一页 | 日韩国产欧 | 日韩精品在线视频直播 | 国产精品亲子乱子伦xxxx裸 | 国产精品一区二区免费 | 最新韩剧美剧超清全集 | 精品一卡2卡三卡4卡三卡 | 亚洲欧美日韩二区三区 | 深爱香蕉五月 | 国产精品自在线 | 免费日漫在线 | 岳妇伦丰满69xx | 欧美亚洲校园第一页 | 欧美经典日韩精品 | 国产98视频在线 | 探花视频在线观看 | 国产欲乱一级视频 | 91偷拍精品一 | 爱情岛论坛| 精品国精品国产自在 | 日本中文字幕在线播放 | 亚洲色国产电 | 婷婷激情狠狠综合五月 | 国内盗摄视频一区二区三区 | 午夜私人成年影院在线观看 | 亚洲午夜三级中 | 亚洲精品视频免费观看 | 国产91丝袜在线播放网站 | 国产欧美在线一区二区三区 | 按摩bbwbbwbbw视频| 最新亚洲国产精品 | 综合亚洲欧美日韩一区二区 | www.91| 欧美在线一级va免费 | 正在播放国产真实哭都没用 | aaaaa级少| 国产91丝袜在线播放0 | 日本国产高清免费 | 九九热在线视频观看 | 日韩欧美在线国产一区二区 | 国产欧美日韩精品第一页 | 国产伦精 | 亚洲欧美日本一区二区三区 | 亚洲精品国产福利 | 黄页网址大全免费观看 | 最新理论片在线观看免费 | 欧美精品金8天国系列 | 午夜男女羞羞爽爽爽视 | 国产精品免费 | 女邻居丰 | 日韩成全视频观看免费观看高清 | 含羞草国产亚洲精品岁国产精品 | 国产欧美一区二区三区不 | 野花社区视频在线观看 | 免费网剧电视剧大全 | 午夜福利国产一级欧美片 | 午夜性影院在线观看视频播放 | 中文字幕在线精品男人的天堂 | 亚洲国产中日韩精品综合 | 亚洲精品一品区二品区三区 | 永久www忘忧草 | 日本欧美视频在线观看三区 | 日本亚洲色大成网站www久 | 久99精 | 18分钟处破好 | 国产精品自在自线 | yw193尤物视频| 频道国产在线资源 | 亚洲精品国产精品精 | 日韩欧美国产一区二区三 | 美女aⅴ高清电影在线观看 国产一区二区三区免费在线 | 亚洲韩国日本欧美一区二区三区 | 国产女主播勾搭美团在线观看 | 日韩精品欧美激情亚洲综合 | 中字幕一区二区三区乱 | 国产1区2区3区国产精品 | 不卡国产精品欧 | 中文字幕在线视 | 日本一本二本三区免费免费高清 | 中文字幕2025 | 国产未成女年一区二区 | 手机免费看电影 | 在线观看视频91 | 手机在线观看日韩电影大片 | 国产免费无遮 | 国户一区二区免费视频 | 日韩高清一 | 国产精品秘吴 | 日本三级网址狠狠 | 无尽动漫性视频╳╳╳3d | 电影在线观看不卡 | 亚洲精品成a人在线观看 | 日韩精品电影亚洲一区 | 国产福利不卡免费视频在线观 | 国产一区欧美一区二区 | 日韩亚洲欧美一区噜噜噜 | 欧美激情一区二区三级高清视频 | 亚洲国产午 | 欧美视频一区在线 | 三年片在线观看直播 | 日韩一区二区三区免费播放 | 免费人成视频在线播放视频 | 色吊丝*性观看网站大全 | 免费视频大片在线观看 | 国产精品不卡一区二区 | 国内精品视频一区二区在线观看 | 亚洲无限| 国产乱码精品一区二区三区百度 | 午夜性爽视频男人的天堂 | 中文字幕乱码免费专区 | 国产在线观看片免费人成视频 | 日韩高清码中文字幕日韩 | 欧美无砖专区一中文字幕 | 一二三区免费视频 | 熟女露脸一区二区三区 | 亚洲男同gay | 日韩亚射亚洲国产第一 | 热99精品视频 | 日本欧美中文字幕精品一区 | 国产又粗又硬又长又爽 | 中国字幕在线看韩国电影 | 热门好看的电影大全 | 综合在线观看高清自拍 | 在线鲁鲁视频免费观看 | 激情文学小说区另 | 日本国产在线精品专区 | 国产精产国品一二三在观看 | 99电影网 | 日韩a∨精品日韩在线观看 国产女精 | 国产福利不卡免费视频在线观 | 亚洲一区二区三区精品影院 | 视频观看| 免费网站看v片在线爱的影院 | 精品午夜国产福 | 97国产婷婷综合在线视 | 国产在线成人一区二区 | 日日精品国产高清国产专区 | 在线免费视频成人 | 亚洲日本一线产区和二线产 | 欧美性色黄大片www喷水 | 国产一级变态a视频全部 | 欧美日韩精品一区二区在线观看 | 亚洲国产综合在线观看不卡 | 亚洲欧美另类在线观看一区二区 | 黑人巨大精品欧美视频一区 | 国产欧美日韩成人 | 精品在线观看亚洲中文 | 亚洲电影 | 国内外精品一区二区三区在线观看 | 米奇欧美777四色影视在线 | 国产综合在线观看 | 国产免费a视频 | 亚洲天堂网一区二区三区四区 | 亚洲激情视频图片 | 国产产精品亚洲一区二区在线观看 | 成年美女黄 | 国产大片91精品免费观看不卡 | 国产精品综合一区二区 | 三区四区 | 国产日本欧美精品 | 亚洲理论中字在线观 | 欧美人体一区二区视频 | 国产福利91精品一区二区 | 无人视频在线观看播放免费 | 国产欧美日韩国中文字幕高清在线 | 亚洲第一页乱 | 国产精品最新资源在线 | 成人美女国产精品免费视 | 国产精品极品美女自在线观看免费 | 精选亚洲一区二区三区 | 国产全部视频在线播放 | 小小水蜜桃高清电视剧观看 | 日韩国产免费一区二区三区 | 日韩视频一区二区在线观看 | 亚洲伊人色综合www962 | 野花影视 | 99久国产精品午夜性色福利 | 日韩一区精品视频一区二区 | 欧美综合亚洲日韩精品区 | 日韩欧美国产 | 日本在线视频高清不卡 | 在线观看国产日韩亚洲中文字幕 | 国产亚洲成年网址在线观看 | 國產精品爽爽va免費觀看 | 性欧美最新巨大乳 | 国产精品偷伦视频观看免费 | 亚洲午夜理论片在线观看 | 精品国产福利第一区二区三区 | 日韩一级欧美一级一级国产 | 日韩欧美在线一区二区不卡 | 国产中老年妇女精品 | 激情中文一区二区三区四区 | 国产操穴 | 国产青草精 | 有码69xx片超频在线97视 | 二区不卡 | 国产在线视频在线观看 | 国产老熟女精品一区二区 | 秋霞伦理电影在线看 | 亚洲欧美日韩综合精品 | 国产免费h无 | 国产自产 | 最近更新中文字幕在线 | 最新好看的电视剧免费在线观看 | 日韩欧美天堂 | 国产乱子伦视频在线观看 | 在线观看日本亚洲一区 | 国产v亚洲v天堂宗合 | 日本大肚 | 国产欧美va欧美va日韩精品 | 欧美在线高 | 亚洲欧美国产国产一区二区三区 | 91精品视频在线看 | 日韩欧美视频一区二区 | 精品国产免费1区 | 国产午夜福利院757视频 | 7799免费视频天天看 | 极品美女一区二 | 抖音奶片| 性色生活片在 | 亚洲国语中文字幕理论片 | 国产综合色产在线视频 | 国产在线精品一区二区高清 | 日本一区二区日本免费 | 国产精品任我爽爆在线播放 | 中文字幕日韩 | 十大黄台禁用 | 飘雪影院手机免 | 观看日本电影 | 欧美亚洲高清国产一区二区三区 | 国产精品一区二区日韩91 | 无人视频在线观看 | 亚洲一级特黄大片在线播放 | 亚洲欧美在线精品一区二区 | 欧美一区二区三区激情爽 | 亚洲国产欧美在线人成aaaa | 亚洲一区中文字幕 | 亚洲欧美综合一区二区三区黄大片 | 国产精品自产在线观看免费 | 亚洲人成 | 精品一区二区三区免费 | 国产不卡高清在线观看视频 | 又大又粗又硬又黄的免费视频 | 亚洲欧洲另类春色校园小说 | 国产福利一区二区三区四区 | 经典大片电影免费在线观看 | 国产又粗又黄又爽的视频 | 影视中文日本亚洲 | 精品免费一 | 中文字幕免费观看一区 | 国产国拍| 国产男女拍拍拍高清视频 | 国产又黄又猛又粗又爽的a 羞羞影视 | 日韩视频在线观看网站资源 | 国产丝袜在线精品丝袜不卡 | 精品国产一区二区三区免费 | 国产精品成人一区二区三区电影 | 亚洲十大国产精品污污 | 最污网站 | 国产乱伦视 | 国产精品制服丝袜另类 | 国产精品第一二三区 | 亚洲精品夜夜夜 | 国产福利小视频 | 一区二区三区视频 | 成人国产精品一区二区免费 | 国产噜噜噜精品免费 | 欧美.日韩.日本国产视频 | 亚洲五月综合缴情婷婷 | 国产盗摄在线观看 | 午夜国产精品视频一区 | 欧美在线精品 | 色色色色色色资源女人天堂 | 亚洲欧美性生活视频 | 国产精品r级最新在线观看 夜夜爽免费看 | 国产对白精品刺激一区二区 | 免费草逼视频网站 | 亚洲精品综合精品自拍 | 99在线精品免费视频九九视 | 韩国a级特黄特 | 亚洲国产精品视频免费观看 | 国产黄a三级三级三级看三级 | 91精品国产福利在 | 在线观看片a免 | 免费国产自在线拍 | 国产日产亚洲系列最新 | 国产精品系列专区 | 美女禁区a级全片免费观看 113美女写真 | 亚洲va欧美va天堂v国产综合 | 日韩高清在线有码中文字幕 | 一级特黄高清aaaa大片 | 午夜性爽一区二区三区 | 红杏亚洲影院一区二区三区 | 日本三级韩国三级香港三级a级 | 二区高清不卡 | 91视频网站免费 | 国产午夜免费高清视频 | 日本一区二区三 | 亚洲欧美精品网站在线观看 | 中文字幕一区二区 | 午夜电影这里只有精品 | 高圆圆又紧又大又湿又爽 | 国产日韩一区 | 精品一区电影 | 国产精品一区视频 | 日本一本二本三区免费免费高清 | 在线日韩不 | 亚洲综合图 | 欧美高清一区三 | 午夜福利国产一区二区视频 | 亚洲欧美日韩综合一区 | 人在线播放 | 三级在线电影 | 国产精品欧美一区二区 | 欧美性黑人极品hd另类 | 日本乱理伦片在线观看中文字幕 | 2025精品国产自在现线看 | 国产一级在线观看影片 | 91精品成人免费国产 | 色男人在线电影视频网站 | 一区二区三区不卡 | 国产一级特黄aa大片在线观看 | 中文一区二区三 | 国产免费高清视频在线观看不卡 | 他扒开我小泬添我视频 | 放荡老师张开双腿任我玩 | 天堂资源中文在线 | 成人精品一区二区三区电影黑人 | 国产98色在线 | 精品欧美日韩一区二区三区 | 亚洲一区二区三区免费视频 | 911国产自产精品a | 文中字幕一区二区三区视频播放 | 亚洲国产精品日韩在线观看 | 国产精品一区二区国产馆蜜桃 | 中文字幕在线精品男人的天堂 | 亚洲欧美国产人成在线 | 亚洲欧美在线观看片不卡 | 精品熟女乱伦一区二区三 | 欧美+亚洲+精品+三区 | 成人短视频黄 | 日本免费三片在 | 护士在办公室被躁bd在线观看 | 少女韩国在线观看完整版免费 | 日产乱码区别免费必看 | 视频在线观看不卡免费 | 国产在线视频 | 日本性爱欧美精品 | 九九热精品视频在线观看 | 欧美三级不卡在线观看 | 精品福利一区二区视频 | 午夜国产在线一区二区三区 | 欧美国产日韩在线播放成人 | 免费三级在线观看中文字幕 | 四川w搡bbb搡wbbb搡按摩 | 国产偷国产偷精品孕妇 | 国产精品三级一区二区 | 美女足脚交一区二区三区 | 亚洲免费在线国产视频午夜精 | 大地影视mv高清视频在线观看 | 国产凹凸在线一区二区 | 碰夜夜澡日日澡 | 亚洲视频精品 | 欧美日韩在线第一页 | 欧美国产午夜福利院 | 亚洲愉拍国产自免费 | 小罗莉极品一线天在线 | 最近2025中文字 | 国产二代与美女酒店在线播放 | 日韩精品一区二区三区观看 | 国产一区二区三区激情四射 | 最新欧美日韩 | 日本一区中文字幕免费 | 免费一级e一片在线播放 | 日本成a人片在线观看网址 国产精品蜜桃丝袜 | 策驰影院| 亚洲午夜国产精品无卡 | 国产喷水在线观看 | 亚洲图片国产日韩欧美 | 亚洲午夜视频在线观看 | 三级国产国语三级在线 | 成人免看一级a一片黄 | 精品亚洲欧美中文字幕在线看 | 这里只有精品在线观看视频 | 国产精品欧美日韩区二区 | 成人拍拍 | 欧美一区二区不卡高 | 无线码免费播放 | 性日韩视频在线观看 | 好吊妞无缓冲不卡在线视频 | 青青河边草免费高清电影 | 一区二区亚洲日本欧美激情久婷婷 | 午夜福利电影在线 | 2025最新国产在线精品不卡顿 | 欧美性色黄大片www喷水 | 秋霞人成在线观看免费视频 | 精品二区三区三级日韩人妖 | 欧美日韩国产高清一区二区三区 | 日本三级网站在线观看视频 | 国产乱子伦一区二区三区视频播放 | 国产亚洲精品精品国产亚洲综合l | 国产制服丝袜亚洲高清 | 2025最新院线大片抢先看 | 高清一区二区亚洲欧美日韩 | 国产偷伦视频高清完整版 | 欧美性色生活免费观看 | 亚洲人成电影手机在线播放 | 日本一二三高清 | 国产亚洲欧美精品一区 | 强被迫伦姧在线观 | 国产日韩高清制服一区 | 学生精品国自产拍中文 | 精品亚洲国产 | 两个人高清在线观 | 日本护士喷水 | 日韩美女黄大片在线观看 | 中文字幕日韩专区 | 日本性爱欧美精品 | 亚洲视频在线免费观看 | 日本精品久 | 国产精品拍自在线 | 国产精品亚洲а∨无 | 国产伦理片在线观看 | 视频一区二区三区免费观看 | 福利一区在线观看 | 亚洲精品中文字 | 国产黄在线观看免费观看 | 911精品国产一区二区在线 | 欧美综合自拍亚洲综合百度 | 亚洲最大激情中 | 国产成a人 | 欧美日韩精品系列一区二区三区 | 午夜未满十八勿入网站2 | 专区一乛方 | 国产在线不卡人成视频 | 网曝精品视频在线 | 欧美顶级情欲片在线播放 | 论理电影 | 欧美视频一区二区三区在线观看 | 精品欧美日 | 国产一区二区三区不卡在线 | 国产精品对白交换绿帽视频 | 欧美肛门 | 18国产精品福利片免费看 | 免费91最新地址永久入口 | 最近中文字幕mv | 精品国产福利第一区二 | 九九在线精品 | 亚洲日韩国产成网在线观看 | 青青青爽国产 | 国产日本欧美一本在线观看 | 伊人影院| 50岁丰满女 | 中文字幕国产第1页直播在线 | 最近中文字幕mv免费高清视频 | 手机免费 | a午夜福利精品国产 | 国产精品成人观看视频 | 2025精品国产自产拍在线观看 | 桃色一区二区三区 | 91短视频污下载app | 免费观看视频 | 日本精品中文字幕有码 | 亚洲国产欧美精品一区二区三区 | 午夜福利精品在线播放 | 欧美日韩国产乱了伦 | 在线久色 | 另类熟女伦乱视频 | 亚洲午夜成 | 国产精品国语对白露脸在线播 | 色吊丝中文字幕一区二区三区 | 亚洲ⅴa在线观看 | 色色色欧美 | 欧美日韩视频在线第一区 | 成人一区二区三区 | 国产日产高清欧美一区二区三区 | 亚洲亚洲人成网站在线观看 | 综合乱伦自拍三 | 国产又粗又猛又 | 国产精品免费观看网站 | 成人国产经典 | 亚洲国产激 | 欧美亚洲综 | 收集最新中文国产中文字幕 | 亚洲成a人v欧美综合天堂 | 国产不卡视频一区二区三区 | 国产午夜福利精品在线观看不 | 99这里只有精品视频国产 | 国产一区二区高清在线 | 91制片厂一样的应用 | 一区二区三区四区国产免费 | 国产精品三级国语在线看 | 日本中文字幕一区二区有码在线 | 亚洲成年看 | 成人日动漫卡一区二区三区动漫 | 国产一卡2卡3卡4卡网站免费 | 97在线观看高清视频免费 | 亚洲国产欧美日韩精品18 | 国产在线视频不 | 午夜成人精品视频观看 | 国产福利在线网址成人 | 中文字幕一区二区三区精品 | 中文字幕亚洲欧美专区不卡 | 日日噜噜夜夜狠狠视频 | 亚洲精品午夜不卡在线播放 | 永久免费 | 台湾自拍偷区亚洲综合 | 国产高清无密码一区二区三区 | 国产在线精品香蕉综合网一区 | 国产精品污www一区二区三区 | 菠萝蜜视频在线观看入 | 欧美视频一区免费精品 | 国产精品亚洲片夜色在线 | 午夜福利精品在线播放 | 国产刺激视频在线观看 | 亚洲欧美日韩国产精品一区第一页 | 97国产婷婷综合 | 99精品国产一区二区 | 成人日韩欧美精品 | 中文字幕九热精品视频在线 | 精品二区三区三级日韩人妖 | 国产亚洲一区二区 | 国产精品高清小罗 | 在线播放不收费 | 国产欧美日韩国中文字幕高清在线 | 中文字幕一区二区不卡 | 操中国美女逼美女 | 亚洲+日本+欧洲+国产 | 欧美日韩视频在线观看网址 | 99精品在| 女の乳搾りです在线观看 | 国产制服丝袜观看 | 国产精品jizz在线观看老狼 | 一级视频在线播放 | 午夜成人影视 | 蜜桃视频在线观看免费播放 | 成年女人看片 | 国产v在线在线观 | 国产中文字幕在线点播 | 国产污污污十八在线精品观看 | 国产在线观看永久免费 | 在线播放亚洲精品 | 亚洲日韩国产综合区 | 亚洲欧美日韩人兽免费 | 999任你躁在线精品免费 | 国产网站免费精品网站 | 99国产精品性 | 国产一级视频免费看 | 小姨子在旁边差点被看到 | 日韩精品一区二区三区在线 | 国产精品日韩一区 | 国产剧情在线一区观看 | 国产午夜免费一区二区三区 | 国产亚洲玖玖精品 | 999二区在线 | 91黑料在线观看 | 国产乱人视频免费观看 | 中文字幕夫妇交换乱叫 | 国产精品老熟女视频一区二区 | 成人动漫在线播放一区二区 | 国产做爰xxx | 日本免费国产 | 乱小说区电影区 | 国产亚洲视频中文字幕97精品 | 日韩亚洲第一页 | 国产亚洲精品精品国产亚洲综合 | 一级国产欧美在 | 国内日本精品视频在线观看 | 国产91爱剪辑直播在线观看 | 91大神大战丝袜美女在线观看 | 免费中文综合乱伦 | 国产乱码在线精品可播放 | 亚洲v中文在线播放免费 | 亚洲精品动漫免费二区 | 亚洲一区欧美二区 | 蜜桃一区二区三区 | 一区二区欧美 | 精品国产日韩无影视 | 国产精品一一老牛影视视 | 九九热在线观看官网 | 精品一区 | 欧美高清性色生活片 | 国产亚洲一区二区手机在线观看 | 亚洲精品国产一级高清在线观看 | 成人奭片免费观看 | 日本天堂免费观看 | 97国产婷婷综合视 | 国产欧美日本亚洲 | 中文www新版资源在线天堂√ | а8天堂资源在线官网 | 国产玩弄醉 | 丝袜一区二区高跟鞋 | 最近中文字幕mv | 国产乱子伦一区二区三区视频播放 | 亚洲欧美日本a∨在 | 天堂va欧美ⅴa亚洲va一国产 | 国产精品一区二555 亚洲精品在线视频 | 国产91chinese在线 | 亚洲高清一区二区三区不卡 | 欧美日本 | 国产女人精品视 | 亚洲美日韩 | 视频在线中文字幕亚洲 | 91精品国产高清一区二区 | 国产精品亚洲一区二区在线观看 | 午夜福利试看120秒体验区 | 国产精品成人观看视频 | 韩国日本免费高清观看 | 国精产品48x国精产品 | 日亚洲第 | 一区二区在 | 欧美人一级淫片a免费播放 国产精品永久免费自在线观 | 免费看日 | 亚洲精品∧v在线观看 | 欧美日韩一道免费中文字幕新视频 | 国产精品一区成人精品果冻传媒 | xxxx性欧美极品v| 在线观看三 | 日韩精品一区二区三区视频网 | 午夜老司机永久免费看片 | 9re久精品视频 | 日韩中文字幕精品视频在线 | 亚洲性日韩精品一区二区 | 亚洲精品一区二区三区人妖 | 亚洲福利国产精品17p | 午夜网站在线观看www | 国产男女爽爽爽免费视频 | 色综合婷婷在线观看66 | 成人午夜又粗又硬又长 | 中文字幕亚洲欧美专区不卡 | 福利乱伦视频 | 成人午夜污污在线观看网站 | 日本高清视频在线观看不卡 | 欧美性色欧美a在线在线播放 | 一级视频亚洲视频在线观看 | 日本亲子乱子伦xxxx50路 | 欧美精品v | 免费三级在线观看中文字幕 | 永久免费影院 | 国产网曝门亚 | 亚洲无人区码卡二卡三卡四卡 |