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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
js中有关IE版本检测
Jan 04 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
Apr 03 Javascript
JavaScript中字符串(string)转json的2种方法
Jun 25 Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
在vscode里使用.vue代码模板的方法
Apr 28 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
根据分辩率调用不同的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获取系统变量方法小结
2015/05/29 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
php+mysql实现无限级分类
2015/11/11 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
斜45度寻路实现函数
2009/08/20 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
简单了解python变量的作用域
2019/07/30 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
C语言如何决定使用那种整数类型
2016/11/26 面试题
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
机器人瓦力观后感
2015/06/12 职场文书
高二化学教学反思
2016/02/22 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫