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 相关文章推荐
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
Javascript的表单验证长度
Mar 16 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
vue.js如何将echarts封装为组件一键使用详解
Oct 10 Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
Sep 11 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 Javascript
浅谈Ant Design Pro 菜单自定义 icon
Nov 17 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
Dec 16 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和javascript之间变量的传递实现代码
2012/12/19 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
python将回车作为输入内容的实例
2018/06/23 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
Python实现点云投影到平面显示
2020/01/18 Python
python中time包实例详解
2021/02/02 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
2014年计算机专业个人自我评价
2014/01/19 职场文书
关爱老人标语
2014/06/21 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
五年级语文教学反思
2016/03/03 职场文书
合作意向书怎么写
2019/06/24 职场文书