Autocomplete Textbox Example javascript实现自动完成成功_javascript技巧

复制代码 代码如下:

<SCRIPT language=JScript type=text/javascript> 
var isOpera = navigator.userAgent.indexOf("Opera") > -1; 
var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera; 
var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera; 
function textboxSelect (oTextbox, iStart, iEnd) { 
   switch(arguments.length) { 
       case 1: 
           oTextbox.select(); 
           break; 
       case 2: 
           iEnd = oTextbox.value.length; 
           /* falls through */ 

       case 3:          
           if (isIE) { 
               var oRange = oTextbox.createTextRange(); 
               oRange.moveStart("character", iStart); 
               oRange.moveEnd("character", -oTextbox.value.length + iEnd);      
               oRange.select();                                              
           } else if (isMoz){ 
               oTextbox.setSelectionRange(iStart, iEnd); 
           }                     
   } 
   oTextbox.focus(); 

/*
function textboxReplaceSelect (oTextbox, sText) { 
   if (isIE) { 
       var oRange = oTextbox.createTextRange(); 
       oRange.text = sText; 
       oRange.collapse(true); 
       oRange.select();                                 
   } else if (isMoz) { 
       var iStart = oTextbox.selectionStart; 
       oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length); 
       oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length); 
   } 
   oTextbox.focus(); 

*/
function autocompleteMatch (sText, arrValues) { 
   for (var i=0; i < arrValues.length; i++) { 
       if (arrValues[i].indexOf(sText) == 0) { 
           return arrValues[i]; 
       } 
   } 
   return null; 

function autocomplete(oTextbox, oEvent, arrValues) { 
   switch (oEvent.keyCode) { 
       case 38: //up arrow  
       case 40: //down arrow 
       case 37: //left arrow 
       case 39: //right arrow 
       case 33: //page up  
       case 34: //page down  
       case 36: //home  
       case 35: //end                  
       case 13: //enter  
       case 9: //tab  
       case 27: //esc  
       case 16: //shift  
       case 17: //ctrl  
       case 18: //alt  
       case 20: //caps lock 
       case 8: //backspace  
       case 46: //delete 
           return true; 
           break; 
       default: 
     // 下面这一行用处不大(被注释)
           //textboxReplaceSelect(oTextbox, isIE ? oTextbox.value/*oEvent.keyCode*/ : oEvent.charCode); 
           var iLen = oTextbox.value.length; 
           var sMatch = autocompleteMatch(oTextbox.value, arrValues); 
           if (sMatch != null) { 
               oTextbox.value = sMatch; 
               textboxSelect(oTextbox, iLen, oTextbox.value.length); 
           }  

           return false; 
   } 

       </SCRIPT>
<SCRIPT> 
               var arrValues = ["red", "orange", "yellow", "green", "blue", "indigo", "violet", "brown"]; 
       </SCRIPT>
<H2>Autocomplete Textbox Example</H2>
<P>Type in a color in lowercase:输入一个以小写字母开头的颜色(英文单词,比如:r、 b等)<BR><INPUT id=txt1 onkeyup="return autocomplete(this, event, arrValues)"></P>

时间: 2024-09-20 16:48:27

Autocomplete Textbox Example javascript实现自动完成成功_javascript技巧的相关文章

浅谈JavaScript的自动垃圾收集机制_javascript技巧

执行环境会负责管理代码执行过程中使用的内存,编写JavaScript程序时,所需内存的分配以及无用内存的回收完全实现自动管理. 原理: 找出那些不再继续使用的变量,然后释放其占用的内存.为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间)周期性地执行这一操作. 垃圾收集的方式: 1.标记清除(mark-and-sweep) 最常用的垃圾收集方式.当变量进入环境时,就将变量标记为"进入环境".从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,

如何防止JavaScript自动插入分号_javascript技巧

 在 JavaScript 中,行尾的分号有一种自动插入机制,这样子,可以容忍某些朋友忽略了输入分号. 当然你最好养成输入分号的习惯,同时掌握 JavaScript 是如何处理忽略输入分号的情况的,因为这种知识有助于你理解没有分号的代码. JavaScript语言有一个机制:在解析时,能够在一句话后面自动插入一个分号,用来修改语句末尾遗漏的分号分隔符.然而,由于这个自动插入的分号与JavaScript语言的另一个机制发生了冲突,即所有空格符都被忽略,因此程序可以利用空格格式化代码.     这两

分享一个插件实现水珠自动下落效果_javascript技巧

分享一个水珠自动下落的插件,下载地址:https://github.com/foreverjiangting/rainyday.js 下面来看看如何使用它?添加下面代码即可运行它. 实现效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <style> </style> <meta http-equiv="Content-Type" content="text/html; cha

详细讲解JavaScript中的this绑定_javascript技巧

this 可以说是 javascript 中最耐人寻味的一个特性,就像高中英语里各种时态,比如被动时态,过去时,现在时,过去进行时一样,无论弄错过多少次,下一次依然可能弄错.本文启发于<你不知道的JavaScript上卷>,对 javasript 中的 this 进行一个总结. 学习 this 的第一步就是明白 this 既不是指向函数自身也不指向函数的作用域.this 实际上是在函数被调用时发生的绑定,它指向什么地方完全取决于函数在哪里被调用. 默认绑定 在 javascript 中 ,最常

深入理解JavaScript程序中内存泄漏_javascript技巧

垃圾回收解放了我们,它让我们可将精力集中在应用程序逻辑(而不是内存管理)上.但是,垃圾收集并不神奇.了解它的工作原理,以及如何使它保留本应在很久以前释放的内存,就可以实现更快更可靠的应用程序.在本文中,学习一种定位 JavaScript 应用程序中内存泄漏的系统方法.几种常见的泄漏模式,以及解决这些泄漏的适当方法. 一.简介 当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象.类.字符串.数字和方法都需要分配和保留内存.语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节. 许

JavaScript 垃圾回收机制分析_javascript技巧

在公司经常会听到大牛们讨论时说道内存泄露神马的,每每都惊羡不已,最近精力主要用在了Web 开发上,读了一下<JavaScript高级程序设计>(书名很唬人,实际作者写的特别好,由浅入深)了解了一下JavaScript垃圾回收机制,对内存泄露有了一定的认识. 和C#.Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了.JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其

java、javascript实现附件下载示例_javascript技巧

在web开发中,经常需要开发"下载"这一模块,以下给出一个简单的例子. 在服务器端,使用java开发: @RequestMapping(value = "download.html", method = RequestMethod.GET) public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) { response.setCo

JS实现的一个简单的Autocomplete自动完成例子_javascript技巧

分享一篇无意间发现的自动完成源码.这里测试的时候使用的是数组,实际使用的时候,我们换成Ajax从服务器端获取的方式就OK了. 提示:可以直接保存到一个html文件中查看效果. 复制代码 代码如下: <!doctype html><html><style>body {    margin-left: 0px;    margin-top: 0px;    margin-right: 0px;    margin-bottom: 0px;}.auto_hidden {   

JavaScript实现的背景自动变色代码_javascript技巧

本文实例讲述了JavaScript实现的背景自动变色代码.分享给大家供大家参考,具体如下: 这里演示JavaScript实现网页背景自动变色,自己变换颜色,设定时间和颜色值即可,在你设定的颜色值.一定时间内自动切换网页背景颜色. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-auto-cha-bg-color-demo/ 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tra