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

金喜正规买球

用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
国产一极视频 | 99re这里只有精品国产精品 | 国产在线观看不卡免费高清 | 99精品欧美一区二区三区 | 亚洲欧美日韩综合在线一区二 | 全国男人的天堂亚洲 | 黑人巨大videos极度另类 | 一本大道香蕉中文在线视频 | 亚洲国产自| 2025年精品国产福利在线 | 国内精品自线一区二区三区 | 亚洲精品视频自拍偷拍 | 免费看老女人 | 国产精品探花一区在线观看 | 女同另类一区二区三区 | 亚洲精品视频在线观看 | 中文字幕亚洲不卡在线亚瑟 | 成视人a免费观看视频 | 欧美日韩国产综 | 欧美日韩国产亚洲一区二区 | 一本一道色| 精品三级影视在线免费观看 | 欧美性猛交xxxx黑人喷水 | 日韩欧美一区二区三区永久免费 | 午夜影视污 | 国产尤物在线视精品在亚洲 | 精品三级视频在线观看 | 精品无人区一区二 | 欧洲乱码伦网站 | 最新高清热播电影 | 伊人春色| 国产自产拍精品视频免费看 | 国产视频欧美综合 | 午夜国产精品看片 | 日本国产性爱观看视频 | 三级精品在线观看自拍 | 又大又粗又硬又黄的免费视频 | 欧美日韩激情播放 | 美足脚交国产在线观看 | 国产精彩视频一区二区在线观看 | 国产午夜福利精品在线观看不 | 免费国产精品 | 国产在线观看一区精品 | 亚州有码91 | 在线精品99re网 | 最新电影电视剧免费在线观看 | 中国免费高清视频在线观看 | 91干逼| 亚洲欧美日本另类 | 图片区乱小说区电影区 | 久热九九| 精产国品一二三产区m553 | 亚洲韩国日本 | 日韩欧美中文亚洲高清在线 | 国内精品自线一区二区三区 | 日韩亚洲欧美国产精品综合 | 成人a视频高清 | 精品亚洲综合在线第一区 | 欧美日韩日本中国高清视频在线 | 中文在线天堂网www 日本高清不卡中文字幕网 anquye | 国产精品日韩激情在线观看 | 亚洲精品国产综合 | 亚洲午夜在 | 这里只有精品在线视频 | 日韩精品免费一级视频 | 大片免费网站 | 欧美日产国产精品视 | 国产喷水在线观看 | 91部国产精品免费观看 | 免费国产h视频在 | 中文字幕亚洲一区二区三区四 | 国产高清精品一 | 亚洲美精品二区性爱 | 国产免费一区二区视频 | 国产未成女一区二区三区 | 中文有码国产精品 | 国产第一福利精品导航 | 日本成人三级在线播放 | 国产精品日韩激情在线观看 | 制服丝袜亚洲中文综合 | 国产天堂精品 | 国产在线观 | 最新韩剧美剧超清全集 | 天堂a√| 日韩欧美国产奇米影视在线观看 | 岛国成人免费大片在 | 3571色院影一区二区三区 | 欧美性爱 | 男人操女人网站 | 日韩美女欧美精品 | 欧美日韩国产网站 | 性感美女网站一区二区三 | 欧美精品另类 | 精品一区二区三区免费观看 | 婷婷亚洲久悠 | 不卡一区二区三区卡 | 偷人精品一区二区 | 超薄丝袜足j | 国产99视频精品免费观看6 | 911亚洲精选| 午夜家庭影院 | 国产精品日韩欧美在线 | 果冻传媒国产电影免费看 | 97香蕉国产免视频网站 | 国产在线高清精品1314 | 中文字幕亚洲无限码 | 亚洲九九九九精品 | 国产午夜视频在线 | 天天色天天综合网 | 国产精彩香蕉在线视频 | 国产思思精品视频 | 亚洲人成网址在线播放 | 又粗又硬又大又黄又爽的免 | 国产网红主播 | 最新亚洲人成网站在线 | 91大神精品全国 | 亚洲91视频网站 | 日韩电影免费观看2025 | 99re6久| 99视频在线国产 | 亚欧乱色国产精品免费视频 | 国产日产成人免费视频在线观看 | 日韩老熟女一区二区 | 亚洲b站精品大片网站 | 丝袜美腿中文字幕 | 免费人成网站在线观看欧美 | 国产亚洲美女精 | 911亚洲精选 | 国产老熟女一区二区三区 | 秋霞a级| 国产在线精品一区二区在线观看 | 日韩成人激情影院 | 免费99精品国产自在现线 | 欧美三级不 | 国产偷精品免费观看 | 成年视频xxxxx在线 | 精品九九 | 亚洲国产日韩欧美视频二区 | 国产全黄三级三级 | 欧美午夜在线观看 | 一区二区自拍 | 欧美乱妇高清视频免欢看关 | 国产人免费视频成69 | 国产高清在线观看一区二区三区 | 亚洲免费观看视频 | 在线中文字幕亚洲 | 国产热久 | 精品乱子伦一区二区三区 | 亚洲精品国产v片 | 91日本在线视 | 日韩欧美一区二区三区视频 | 亚洲午夜一区二区三区在线观看 | 欧美日韩一二三区 | 国产偷拍盗摄一区二区 | 国产精品免费看 | 日韩综合一卡二卡三卡死四卡 | 亚洲一区二区影视 | 日韩欧美亚洲一区精选 | 亚洲精国产一区二区三区 | 区小说区激情区图片区 | 最新热门日韩电影 | 国产日韩精品欧美一区色 | 日韩v午夜视频在线观看 | 国产在线视频在线观看 | 黄瓜视频在线播放看片 | 国产美女自卫慰视频福利 | 区三区国产高清视频 | 国产免费202| 亚洲丝袜制服欧美另类 | 国产在线拍偷 | 欧美日韩一区二区不卡在线播放 | 日本高清视频网站www | 国产女人喷 | 国产拍拍拍在线观看视频免费 | 91同城快聘 | 香蕉伊蕉伊中文在线视频 | 银杏影视 | 亚洲人成影视在线观看 | 免费精品视频一二区 | 国产日韩欧美一区二区三区精品 | 午夜dj| 日本黄页网站在线观看 | 日本新ja | 国产精品自产拍在线观看一 | 性一交一黄一片 | 激情小说亚洲图片伦 | 午夜电影网 | 国产美女自卫慰视频福利 | 国产精品成人第一区 | 亚精一区二 | 国产精品色三级在线观看 | a级全黄试看30分钟gif动图 | 国产精品日韩精品 | 国产91丝袜在线播放动漫蜜月 | 深夜影院| 免费看涩涩视频网站入口 | 日韩精品福利片午夜免费观着 | 国产系列在线精品二区 | 国产a级三级三区成人国产一级婬 | 亚洲精品视频一区二 | 国产精品一区二区含羞草 | 欧美性在线观看 | 高清伦理| 在线免费看影视网站 | 欧美在线高 | 亚洲a∨ | 国产精品青青青高清在线 | 国产一区二区免费视频 | 日本特黄特黄aaaaa大片 | 开拓亚洲色偷偷偷综合网的同时 | 国产亚洲中文一区二区三区 | 免费播放婬乱男女婬视频国 | 亚洲欧美中文日韩v在线观看 | a级粗大硬长爽猛视频免费 视频二区日韩 | 亚洲成v人片在线观看福利 一二三四视频 | a级在线观看日韩 | 国产大片黄在线观看 | 国产欧美日韩va另类在线 | 午夜福利一区二区三区不 | 成年女人免费毛 | 国产精品视频免费看人鲁 | 国产午夜高 | 91人成亚洲高清在 | 视频在线观看jjxyz | 大胆gogo高清在线观看 | 国语精品91自产拍在线观看二区 | 精品国产一区二区三区 | 国产日韩精品欧 | 一区二区三区国产美女在线播放 | 九九视频精品全部免费播放 | 国产又粗又硬又大爽黄老大爷视 | 字幕一区 | 国产精品秘吴 | 亚洲成aⅴ人 | 娇妻被交换粗又大又硬彩 | 极品尤物一区二区三区 | 亚洲美女国产精品综 | 国产精品广西柳州 | 欧美又大粗又爽又黄大片视频 | 欧美亚洲综合成人a∨在线 亚洲国产中文字幕在线观看 | 日本高清免费观看 | 国产乱码精品一区二区三区香蕉 | 亚洲国产综合精品中久 | 97青青| 免费福利影视 | 2025中文字幕日 | 国产午夜福利在线观看红一片 | 一区二区三区四区在线视频 | 天堂中文最新版在线中文 | 99精品国产九九国产精品 | 亚洲天堂欧美 | 国产伦亲子伦亲子视频观看 | 亚洲日韩国产第一成人 | 亚洲精品乱无伦国产 | 热门电影、电视剧、动 | 91天堂а8天堂资源在线官网 | 精品一卡2卡三卡4卡免费视频 | 91国语精品自产拍在线观 | 天天射天天爱天天射干 | 区二区三区蜜芽 | 99久热精 | 自拍亚洲一区欧美另类尤物 | 国产在线精品一区二区高清不卡 | 国产男女免费完整视频网页 | 丝袜美腿精 | 中文无字幕一 | 日本成本人片视频免费 | 中文字幕在线播放视频 | 国精产品一品二品国精品69xx | 欧美日韩国产一区二区三区在 | 国产日产高清欧美一区 | 国产精品一区二区三区 | xxxx自由视频 | 国产日产高清欧美一区二区三区 | 小罗莉极品一线天在线 | 一区国严二区 | 日韩精品一区二区三区大桥未 | 欧美又粗又大一区二区 | 香蕉免费啪 | 第四色伊人| 中文字幕在线精品视频万部 | 国产一区二区三区四区激情 | 美女被男人桶到爽免费网站 | 亚洲精品aⅴ中文字幕乱码 国产在线ts | 丰满妇女强 | 韩国日本三级在线播放 | 精品二区中文字幕播放 | 日韩一区高清在线观看 | 亚洲免费在线视频观看 | 中文字幕日韩一区二区三区不卡 | 日韩视频一区二区在线观看 | 91部国产精品免费观看 | 国产综合色产在线视 | 手机免费在线日韩电影大片 | 国产精品亚洲专区在线播放 | 成人欧美一区二区三区 | 一区二区三区高清视频 | 国产专区在线视频 | 人人影视 | 九九99靖品| 国产在线精品一区二区在线看 | 亚洲精品一区二区三区四区高清 | 日韩a优精品在线观看 | 亚洲国产精品∨a在线看黑人 | 欧美+日韩+国产在线 | 国产精品一区二区亚瑟不卡 | 91探花国产 | 香蕉一区二区在线观看 | 欧美亚洲日韩国产网 | 欧美成成人免费 | 国内成人福利短视频在线 | 欧美国产激情二区三区 | 国产综合在线观看自拍 | 电影在线观看高清完整版 | 亚洲欧美国产精品一区二区 | 欧美日韩在线在线观看 | 野花香视频免费观看高清在线 | 国产综合视频在线观看8 | 国产精品亚洲片在线 | 草莓视频污官网 | 国产。亚洲。在线播放 | 国产精品欧 | 日韩亚洲欧美一区二区三区综合 | 成人精品午夜在线观看 | 人妖系列精品视频 | 国产小视频在线观看免费 | 中文字幕乱码亚洲无线三区 | 伊人焦久综合影院每日更新 | 国产精品一区二区 | 中文字幕在线观看 | 国产女学生破女初在线观看 | 欧美日韩人人天天综合小说 | 青青草原亚洲之五月婷 | 国产精品成人免费视频网站京东 | 亚洲天堂色在线 | 亚洲视频一区二区三区四区 | 欧美激情αv一区二区三区 国语在线看免 | 亚洲日韩国产成网在线观看 | 欧美亚洲自拍日韩在线 | 日本欧美三级r级国产在线 亚洲激情乱伦 | 国产精品自产精品在线观看 | 女同另类一区二区三区 | 亚洲精品国产精品国自产网站 | 欧美激情一区二区亚洲专区 | 91精品啪国产在线观看 | 精品动漫福利h视频在线观看 | 国产欧美亚洲精品第一页 | 91大神在线精品视频一区 | 欧美综合视频在线观看 | 国产精选视频 | 亚洲精品福利在线观看 | 免费国产一区 | 免费亚洲大片app下载 | 最新高清电影在线免费观看 | 美女黄频 | 国产一区二区三区水蜜桃 | 欧美日韩不卡中文网 | 成人欧美一区二区三区在线 | 精品欧美日韩一区二区三区 | 日本一区二区三区在线观看不卡 | 草莓视频污免 | 在线观看www成人影院 | 午夜成人 | 美女被男人桶到爽免费网站 | 日本欧美一区二区三区在线观看 | 人人干在线视频 | 91成人 | 国产欧美国日产在线播放 | 国产乱对白刺激视频 | 精品国产亚洲人成在线观看 | 国产一区二区免费播放 | 伦理大片在线观看 | 片免费观看 | 三级在线观看免费观看电影 | 精品国产一区二区三区免费91 | 国产免费人成在线看视频 | 2025国产品在线不卡 | 好看的剧免费在线观看 | 91桃色在线 | 精品国精品国产自在久国产 | 欧美日韩视频在线观看第一区 | 国产的精品 | 亚洲欧美国产一区二区三区 | 欧美日韩国产在线观看 | 国产人妇三级视频在线观看 | 精品一区网友自拍偷拍第一页 | 青青草自产拍国产精品 | 国产盗摄偷窥在线观看 | 亚洲偷窥另类xxxxx乱室佳宾 | 色爱综合区 | 欧美老年人草逼视频 | 免费现黄频在线观看国产 | 国产精品免费一级在线观看 | 欧美又粗又 | 91福利小 | 1000部禁止18| 日韩主播大秀在 | 欧美日韩一区日本成人一区二区 | 最近中文字幕mv | 老牛影视文化传媒有限公司官方 | 国产日b视频在线观看 | 日本日本乱码伦视频在线 | 精品国产免费人成电影在线看 | 国产黄大片在线观看画质 | 日韩v亚洲v欧美v精品综合 | 国产日韩一区二区三区在线观看 | 极品欧美一区二区 | 在线播放免费精品 | 欧美海外国产 | 一区二区三区在线观看 | 国产精品免费一区二区三区四区 | 欧美一区二区三区在线直播 | 91福利国产视频 | 蜜臀91精品国产高清在线观看 | 午夜福利体验免费体验区 | 国语自产拍在线 | 中文字幕亚洲无线码在一区 | 亚洲品质自拍视频 | 国产午夜福利一区二区三区在 | 91综合 | 国产中文字幕玖玖 | 国产午夜福利不卡在线观看 | 欧洲亚洲国产日韩综合一区 | 欧美大片一 | 亚洲国产精品∨a在线看黑人 | 亚洲色一区二区三区四区 | 国产福利在线网址成人 | 泰国一级特黄在线观看大片 | 国产人妖视频一区二区 | 欧美一区福利 | 日韩欧美国产制服丝袜 | 国产精品99在线观看 | 99精品视频在线视频免费观看 | 中文在线资源天堂www | 国产精品一区99 | 性欧美一区二区三区在线观看 | 国产激情电影综合在线看 | 日韩一级一欧美一级国产 | 天天一区 | 好看的中文字幕aⅴ在线视频 | 国产精品一区二区含羞草 | 亚洲欧美精品精品aⅴ | 国产中文字幕在线 | 97碰碰碰成年免费视频s | 一区二区三区免费在线视频 | 三年片最新电影免费观看 | 中文字幕2025| 欧美精品第三页 | 欧美在线一区二区 | 亚洲一区在线免费 | 亚洲日韩| 海角国产乱辈乱精品视频 | 精品一区二区三区国产视频 | 亚洲午夜私人影院 | 亚洲v国产v日韩v欧美v | 国产精品免费视频观看玖玖 | 国产在线观看免费人成视频 | 国产特黄特色a级在线视 | 亚洲欧美中文 | xnxxfreeporn| 欧美精品高清在线观看爱美 | 日本一本二本三区免费 | 亚洲精品自在在线观看 | 又黄的免费视频 | 视频在线看影院 | 92国产福利午夜757小视频 | 日本精品一卡高清 | 欧洲亚洲一区二区三区 | 国产卡戴珊在线根本喂不饱2 | 中文字幕日产熟女乱码 | 国产精品成人免费视频网站京东 | 最新md传 | 精品视频在线观看免费观看 | 中文字幕一区二区三区精彩视频 | 亚洲国产主播不 | 亚洲无人区码卡二卡三卡四卡 | 97韩剧tv网 | 国产精品ⅴa在线观看 | 亚洲午夜日韩 | 国产又粗又长又黄又猛又爽视 | 亚洲偷窥另类xxxxx乱室佳宾 | 亚洲综合狠狠99婷婷 | 涩涩视频污污 | 国产亚洲精品国产福利在线观看 | 综合色区在线观看 | 插我一区二| 国偷自产视频一区二区久 | 中文字幕精品一区二区精品 | 亚洲b站精品大片网站 | 二区三区一六视频在线 | 日本高清免费不卡视频 | 好吊妞无缓冲不卡在线视频 | 精品国产福利在线观看 | 国产精品伊人 | 白丝视频 | 欧美一区二区三区激情 | 久热韩国综合中文字幕视频 | 亚洲国产综合精品中文字幕 | 日本一二线不卡在线观看 | 99热精品免费 | 亚洲欧美精品福利一区二区 | 亚洲精品人体大胆 | 亚洲精品第1页 | 亚洲综合成人aⅴ在线观看 韩国三级香港三 | 日产国产一区二区 | 日本护士视频欧美无砖专区 | 疼快拔出去 | 一区二区三区中文 | 欧美精品aⅴ一区二区三区 天堂a在线观看视频 | 日韩精品一区二区三区中文3d | 精品人伦一区二区三区蜜 | 亚洲人成电影手机在线网站 | 高清在线午夜一区二区亚洲 | 亚洲国产性夜夜综合 | 欧洲动漫精品专区一区二区三区 | 99国产精品免费观看视频 | 亚洲va在线观看 | 欧美高清一区二区三区欧美 | 精品日韩成人欧美 | 国产自产视 | 亚洲视频欧美视频在线视频 | 日本特大a级猛片在线观看 国精产品999国精产 | 高清在线精品一 | 国产又粗又硬又大爽黄老大爷视频 | 亚洲综合成人aⅴ在线观看 韩国三级香港三 | 欧美日韩一区二区精美视频 | 国产电影在线精品亚洲 | 黑人巨大精品欧美视频一区 | 中文字幕人 | 国产一级a毛做免费视频 | 91探花| 国产日本欧美在线一区二区 | 天美传媒果冻传媒国产日本 | 18+在线观看网站 | 综合欧美乱伦高清 | 亚洲一区中文字幕 | 91精品国产品香蕉在线 | 无人区一码二码三码四码区 | 日韩欧美亚洲一区二区在线观看 | 朋友的妈妈2在完整有限中字第 | 国产精品第一偷怕自怕1区 7799天天综合 | 日本三级国产在线 | 欧美插逼视频 | 欧美a级毛欧美1级a大片式放 | 99在线观看视频免费精品9 | 一级视频在线观看免费 | 欧美、另类亚洲日本一区二区 | 日本电影中文字幕 | 国产在线观看不卡免费高清 | 国产精品日韩欧美 | 亚洲一区 | 日韩v手机在线免费观看亚洲 | 国产舌乚八伦偷品w中 | 日韩精品一区二区三区免费在线 | 午夜性影院爽爽爽爽爽爽 | 日韩在线视频不卡一区二区三 | 亚洲熟女色乱一区二区 | 国产精品中文字幕免费观看 | 天天躁日日躁狼狼 | 免费片在线观看 | 夜鲁鲁鲁夜夜综 | аⅴ资源天堂资源库在线 | 亚洲欧美高清精 | 福利片午夜免费观着 | 国产精品黄大片在线播放 | 欧美一区二区三区视频在线 | 成人午夜视频精品一区 | 特级国产午夜理论不卡 | 欧美性爱官网 | 国产xxx视频在线观 国产午夜免费高清视频 | 国产又大又黑又粗免费视频 | 国产亚洲欧美日韩精品一区二区 | 国产视频99kai | 国产一区二区影视 | 欧美性色黄大片www喷水 | 策驰影院| 亚洲一区二三区好的精华液 | 乱码一二三入区口 | 国产第一在线视频 | 成人国产精品一区二区免费 | 午夜私人影院免费体验区 | 国产精品福利在线观看免费 | 国产91对白在| 成年人免费视频软件 | 国女精品爽爽一区二区 | 日韩国产免费一区二区三区 | 激烈网站 | 亚洲欧美中文字幕无线 | 乳肉豪妇荡乳在线观看 | 午夜国产 | 乱子伦精品视频 | 午夜欧美国产一区 | 精品国精品国产自在 | 国产黄大片在线观看视频 | 国产高清在线精品二区一 | 91视频国产亚洲精品 | 亚洲欧洲日产国码a | 国产精品一区二区国产 | 23部人禽伦 | 亚洲国产一区欧美 | 亚洲精品高清在线观看 | 国产激情一区二区三区小说 | 国产交换精品一区二区 | 午夜欧美国产一区 | 国产激情在线观看 | 国产高清一区二区视频 | 亚洲精品国产乱码在线看天美 | 午夜成人亚洲理伦片在线观看 | 国产亚洲精品一二三区 | 日本高清视频一区 | 天堂网果冻传媒 | 成人精品久 | 免费岛国小视 | 国产一区二区三区在线免费 | 欧美日韩性高爱潮视频 | 国产精欧美一区二区三区 | 国内激情视频 | 91视频导航| 亚洲人午夜射精精品日 | 亚洲福利一区福利三区 | 亚洲清纯自偷自拍另类专区 | 热99re6久精品国产首页青柠 | 欧美影院 | 亚洲一区免费观看 | 国产在线观看 | 亚洲v天堂v影 | 最近免费字幕中文大全 | 国产中文字幕在线点播 | 国产亚洲精品午夜福利巨大 | 在线观看永久免费视频网站 | 亚洲v欧美v日韩v国产v在线 | 亚洲成a人片在线播放 | 污污污污污污www网 午夜福利小视频400 | 91色窝窝国产蝌蚪在线观看 | 羞羞影院| 亚洲一区二区又黄又爽在线观看 | 尤物免费人成在线观看播放a | 亚洲人成电影手机在线播放 | 论理电影| 午夜国产福利看片 | 天天综合网天天综合色 | 亚洲精品一区二区三区视频在线观 | 亚洲一区二区三区和欧美四区 | 午夜成人爽爽爽视频在线观看免费 | 免费?∨中文高清乱 | 在线观看精品国产福利片app | 好看的电视剧推荐 | 偷国内自拍视频在线观看 | 国产日产成人免费视频 | 中字幕视频在线永久在线观看免费 | 免费激情网站国产高清第一页 | 国产精品资源站在线 | 三级网站视频 | 永久免费国产成 | 曰批视频免费观看完 | 午夜男女爽爽影院在线 | 欧美日韩视频在线播放 | 欧美日夜干影院 | 日本精品在线播放 | 亚洲国产精品视频免费观看 | 杨幂在日本一区二区视频 | 亚洲欧美国产另类 | 影院热映大片 | 亚洲人成电影网站色 | 国产日韩高 | 亚洲日本在线中文字幕 | 国产欧美日韩va另类在线 | 午夜电影国产精品一区 | 亚洲天堂一区二区 | 人成精品视频三区二区一区 | 色吊丝中文字幕一区二区三区 | 午夜影院网站野外大战 | 欧美一级成人免费大片 | 这里只有精品在线视频 | 热门电视剧追剧网站 | 中国领先的综合视频网站 | 成人α片免费视频在线观看 | 欧美精品一区二区三区免费 | 国产精品丝袜在线观看首页 | 国产免费毛不卡片 | 黑人巨大精品欧美一区二区免费 | 亚洲欧美v视色一区二区 | 午夜电影网 | 欧美色吊丝人人添人人摸 | 欧美日韩免费高清一区二区 | 影院日韩欧美一区二区三区 | 国产在线videos | 欧美日韩四区在线 | 日韩欧美中文字幕一区 | 欧美激情000ⅹxx同性 | 91全网在线观看国产 | 污网站免费在线观看 | 噜噜噜在线视频免费观看 | 亚洲高清成 | 国产91精品露脸国语对白 | 亚洲人成电影手机在线网站 | 乱子xxxxvideos | 国产精品欧美日韩视频一区 | 中文字幕第1页精品一区 | 国产伦精品一区二区三区视 | 亚洲成a人片| 在线电影电视剧动漫综艺免费观看 | 欧美人与禽zozo性伦交 | 妖精视频免费 | 日本精品a在 | 国产色无| 亚洲成年人电影在线观看 | 国产玉足脚交极品在线 | 亚洲成a人片在线观看天堂无 | 在线观看国产福利91啪 | 亚洲欧美人高清精品a∨ | 由91亚色 | 综合亚洲精品 | 国产精彩视频在线观看91 | 亚洲aⅴ男人的天堂在线观看 | 中文字幕精品卡通动漫 | 青青国产在观免费影视 | 日本一卡2卡三卡4卡网站 | 手机看片免费永久在线观看 | 人人看人人艹 | 日产无人区一线二线三线最新版 | 亚洲人成小说网站色 | 国产亚洲精品综合一区二区 | 欧美激情一区二区三区高清视 | 特级xxxxx欧美| 精品女同一区二区三区免费站 | 婷婷亚洲综| 国产精品视频露脸 | 国产普通对白手机在线 | 中文字幕国产日韩 | 国产一区美日一区日韩一区 | 99r在线精品视频在线播放 | 亚洲欧美小说 | 久操视频免费 | 婷婷婷国产在线视频 | 啦啦啦免费高清在线观看 | 精品热亚洲一级 | 日本在线不卡二区三区 | 污网站免费在线观看 | 免费10| 国产亚洲综合aa系列 | 欧美亚日韩一二三四 | 亚洲愉拍国产自免费 | 亚洲日韩欧美在线一区二区 | 精品国语自产拍在线观看 | 国产91精品对自露脸全集观看 | 日本一区二区 | 亚洲国产aⅴ综合网 | 韩国日本亚洲欧洲一区二区三区 | 中文字幕三级 | 国产亚洲欧美高清在线观看 | 好男人好资源影视在线 | 福利在线免费 | 中文字幕不卡高 | 亚洲已满1 | 97国产在线公开免费观看 | 最新中文字幕在线观 | 神马午夜电影网 | 国产私拍福利精品视频推出 | 国产精品视频免费一区二区三区 | 日韩在线观看视频 | 亚洲熟女色乱一区二区 | 精品国产一区二区三区不卡 | 深夜爽爽动态图无遮无挡 | 日韩精品亚洲精品第一页 | 在线观看第一页 | 成人高清| 国产精品多p对白交换绿帽 国产日本韩国视频 | 亚洲中文 | 亚洲国产在一二区三区不卡 | 国产欧美日韩在线 | 国产精品免费视频观看拍拍 | 亚洲欧美中文高清在线 | 日本亚洲国产一区二区三区 | 欧美国产剧情一区二区 | 亚洲精品sm一区二区 | 欧美老年人草逼视频 | 欧美亚洲精品在线 | 欧美黑人巨大精品一区二区三区 | 国产日韩在线观看一区二区三区 | 国产激情一区二区三区小说 | 色拍自拍亚洲综合图区 | 日本中文字幕 | 午夜三级中文不 | 午夜影院在线观看免费 | 日本精品电影一区二区三区 | 高清一区二区三区欧美激情 | 电视剧大全免 | 国产一区二区在线播放女友 | 国内自拍中文欧美 | 免费三级在线观看中文字幕 | 精品免费国产一区二区三区四区五 | 国产激情一区二区三区在线hd | 亚洲图片国产日韩欧美 | 国产亚洲精品自拍 | 国产片婬| 午夜成人亚洲理伦片在线观 | 两个人看的视频在线观看 | 视频一区视频二区日韩专区 |