老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

JavaScript組件開發之輸入框加候選框的示例分析

這篇文章主要為大家展示了“JavaScript組件開發之輸入框加候選框的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript組件開發之輸入框加候選框的示例分析”這篇文章吧。

創新互聯主要為客戶提供服務項目涵蓋了網頁視覺設計、VI標志設計、成都營銷網站建設、網站程序開發、HTML5響應式重慶網站建設公司手機網站開發、微商城、網站托管及成都網站維護、WEB系統開發、域名注冊、國內外服務器租用、視頻、平面設計、SEO優化排名。設計、前端、后端三個建站步驟的完善服務體系。一人跟蹤測試的建站服務標準。已經為成都墻體彩繪行業客戶提供了網站改版服務。

1.兼容ie8 主要是事件兼容

var EventUtil = {
   on:function(elem,type,handler){
    if(elem.addEventListener){
     elem.addEventListener(type,handler,false);
    }else if(elem.attachEvent){
     elem.attachEvent("on"+type,handler);
    }
   },
   getEvent:function(event){
    return event||window.event;
   },
   getTarget:function(event){
    return event.target||event.srcElement;
   },
   getCharCode:function(event){
    if(typeof event.handler == "number"){
     return event.charCode;
    }else{
     return event.keyCode;
    }
   }
  }

2.對于候選框里面的內容使用事件代理,以及點擊空白處消失

EventUtil.on(document.body,'click',function(e){
   stopPropagation(e);
   if(EventUtil.getTarget(e).nodeName=='BODY'){
    datalist.style.visibility = 'hidden';
    datalist.innerHTML ='';
   }
   if(EventUtil.getTarget(e).nodeName == "LI"){
    input.value = EventUtil.getTarget(e).innerHTML;
    datalist.style.visibility = 'hidden';
    datalist.innerHTML ='';
   }
  })

3.兼容模式下的防止冒泡

 function stopPropagation(e){
   e = window.event||e;
   if(document.all){
    e.cancelBubble = true;
   }else{
    e.stopPropagation();
   }
  }

4.效果圖

JavaScript組件開發之輸入框加候選框的示例分析 

5.完整代碼


 
  
  
  
   html,body{margin: 0;padding: 0;height: 100%;width: 100%;}
   input{
    width: 200px;
    border:1px solid grey;
    padding: 0 2px;
    line-height: 1.5rem;
    box-sizing: border-box;
    outline: none;
   }
   ul{
    margin:0;
    width: 200px;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    padding: 1px;
    border:1px solid;
    border-color: grey;
    visibility: hidden;
   }
   li{
    line-height: 1.5rem;
    padding: 0 0 0 1px;
   }
   li:hover{
    background-color: grey;
   }
   .section{
    top:30%;
    left:50%;
    position: absolute;
    margin-left: -100px;
   }
  
 
 
 
   
   
   
 
      var EventUtil = {    on:function(elem,type,handler){     if(elem.addEventListener){      elem.addEventListener(type,handler,false);     }else if(elem.attachEvent){      elem.attachEvent("on"+type,handler);     }    },    getEvent:function(event){     return event||window.event;    },    getTarget:function(event){     return event.target||event.srcElement;    },    getCharCode:function(event){     if(typeof event.handler == "number"){      return event.charCode;     }else{      return event.keyCode;     }    }   }   function stopPropagation(e){    e = window.event||e;    if(document.all){     e.cancelBubble = true;    }else{     e.stopPropagation();    }   }   var input = document.getElementById('search');   var datalist = document.getElementById('datalist');   var list_array = ['aa','aab','abc'];   function generatelist(array){    var _innerHTML = '';    for (var i = 0; i < array.length; i++) {     _innerHTML += '
  • '+array[i]+'
  • ';    }    datalist.innerHTML = _innerHTML;   }   function findInArray(s){    var filter_array = [];    if(s!=''){     for (var i = 0; i < list_array.length; i++) {      if(list_array[i].indexOf(s)===0){       filter_array.push(list_array[i])      }     }    }    return filter_array;   }   input.onkeyup = function(){    var new_array = findInArray(this.value);    generatelist(new_array);    if(new_array.length>0){     setTimeout(function(){datalist.style.visibility = 'visible';},0);    }else{     setTimeout(function(){datalist.style.visibility = 'hidden';},0);    }   }   EventUtil.on(document.body,'click',function(e){    stopPropagation(e);    if(EventUtil.getTarget(e).nodeName=='BODY'){     datalist.style.visibility = 'hidden';     datalist.innerHTML ='';    }    if(EventUtil.getTarget(e).nodeName == "LI"){     input.value = EventUtil.getTarget(e).innerHTML;     datalist.style.visibility = 'hidden';     datalist.innerHTML ='';    }   })  

    以上是“JavaScript組件開發之輸入框加候選框的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!


    新聞標題:JavaScript組件開發之輸入框加候選框的示例分析
    當前路徑:http://www.xueling.net.cn/article/pgjseo.html

    其他資訊

    在線咨詢
    服務熱線
    服務熱線:028-86922220
    TOP
    主站蜘蛛池模板: 一区2区3区在线看 | 在线播放国产区 | 欧美精品videofree | 精品国产成人亚洲午夜福利 | 亚洲精品456在线播放狼人 | 日韩手机在线观看 | 日本高清一二区 | 69导航| 91九色视频在线播放 | 亚洲成本人片无码免费 | 色涩视频在线观看 | 三区视频 | 丰满少妇高潮久久三区 | 91小视频网站 | 欧美巨乳在线观看 | 男女视频91| 欧美日韩在线精品一区二区三区 | 日韩免费网站 | 亚洲精品在线不卡 | 日韩精品一区二区三区swag | 99九色 | 国产乱码精品一区二区三区爽爽爽 | 大陆一级毛片免费视频观看 | 国产美女无遮挡裸色视频 | 日日操夜夜透 | 大胆裸体gogo毛片免费看 | 欧美日韩精品成人网站二区A∨有 | 一二三四在线播放免费观看中文版视频 | 免费无码中文字幕A级毛片 亚洲黄色成人网 | 国产精品二区二区三区 | 公侵犯一区二区三区四区中文字幕 | 婷婷视频导航 | 少妇被粗大的猛进出69影院 | 亚洲AV永久无码精品桃花岛知道 | 97国产精品 | 97精品国产91久久久久久久 | 99热爱久久99热爱九九热爱 | 黄色一视频 | 亚洲一区日韩精品中文字幕 | 粉嫩一区二区三区在线看 | avtom影院入口永久在线 |