JS控件autocomplete 0.11演示及下载 1月5日已更新


Posted in Javascript onJanuary 09, 2007

1月5日已更新

修复自动完成文本框焦点移失,自动完成容器不能消失的bug
增加expandAllItem方法,双击时可出现全部的item,详情请看示例
增加customStyle示例,该示例演示了如何对autocomplete控件进行css美化,见autocomplete_custom的css文件

演示及下载:
http://www.never-online.net/code/neverModules/autocomplete/

功能较上一版本的改进和功能:
1。匹配速度的提高。
2。加入ignoreCase属性(为false时,将区分大小写,默认为true)
3。加入ignoreWhere属性(为true时,匹配结果将使用贪婪匹配,即整个字符串中只要有输入的字符,将把dataSource内容送入匹配结果中)
4。按esc返回。
5。兼容IE6.0, Opera9.0, Mozilla Firefox1.5
6。可手动清空dataSource数据,或动态赋值给dataSource。方便的进行AJAX,详细请看示例。
7。highlighted属性(默认为true,大数据量时,建议设置为false)。
8。在IE中,弥补div被select控件遮挡。详细请看第一个示例。
9。方向键支持。

思路以及参考:

初始化时,我把所有的数据都一次用join("")生成dataSource字符串(我在字符串字使用的html都尽量的简短,使之能够以最少的字符串生成数据),之后用正则来匹配。感觉这已经在速度上是很快的了。

虽然range功能还没有加进去,但基本的已经足够了。速度还算理想。现在发现一个速度问题就是,如果要在Opera,Mozilla,IE里充分利用其内核的效率,那么结果将是代码也许会大大的加长。毕竟不同内核之间的效率是大不一样的。

兼容性与效率同样也是一个矛盾的问题。用insertAdjanceHTML这个方法,是在大数数量情况下,插入一个字符串的一个简单兼容方法之一。

还有一个就是把highlight加入的问题,用了join之后,要加亮,必须再次回溯,从而相当于进行了两次匹配。这个也是效率的问题之一。所以建议大数据量情况下,把highlighted属性设为false。这样效率理论上说,应该可以提高40%左右的速度。

Javascript 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
Javascript实现倒计时时差效果
May 18 Javascript
angular 内存溢出的问题解决
Jul 12 Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
使用zrender.js绘制体温单效果
Oct 31 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
如何在vue中使用jointjs过程解析
May 29 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
根据分辩率调用不同的CSS.
Jan 08 #Javascript
如何用javascript判断录入的日期是否合法
Jan 08 #Javascript
[IE&FireFox兼容]JS对select操作
Jan 07 #Javascript
javascript中的对象和数组的应用技巧
Jan 07 #Javascript
JavaScript For Beginners(转载)
Jan 05 #Javascript
JavaScript的目的分析
Jan 05 #Javascript
关于JavaScript的gzip静态压缩方法
Jan 05 #Javascript
You might like
PHP生成二维码的两个方法和实例
2014/07/01 PHP
Javascript开发包大全整理
2006/12/22 Javascript
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
关于图片验证码设计的思考
2007/01/29 Javascript
基于JQuery的cookie插件
2010/04/07 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
Python正则表达式使用范例分享
2016/12/04 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
构建高效的python requests长连接池详解
2020/05/02 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
烹饪自我鉴定
2014/03/01 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
归途列车观后感
2015/06/17 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery