6th
NOV

可以解决中文输入的自动完成jQuery脚本插件-James

Posted by JCLee under 技术

为了实现谷歌、百度、淘宝一样的自动提示的功能,这几天测量了很JavaScript的自动完成脚本。发现网上的方案超级多,之前我也收集了一篇文章《33个JavaScript自动完成脚本》,我也从中找了很多测试,发现英文都没有问题,效果都很棒。但是……,遇到了中文就全挂。写的这里想到了一个网友的话“做前端的真是不容易,要和浏览器斗,还要和输入法斗,更要和变态的用户斗”。说的很实在,我这次除了没有遇到变态用户,其他的全遇到了。

我看从33个一个感觉最棒的Tokenizing Autocomplete Text Entry

<效果>

把我需要的数据Json很的搭建好,配置很简单,很快就可以用了,英文很正常,输入中文后就没有反应。网上搜索了一下,发现有人也遇到过,说把keydown改成keyup。测试固然好用了,但只是在IE下。火狐FF下照样不好用。我断定keyup在FF下不被接受。搜索后,发现是真的。虽然有也有方法解决《jQuery捕捉中文输入法事件 (firefox下keyup无效)》,但我测试没有成功。
而且也感觉不理想,因为各浏览器对这些keydown、keyup、keypress有效性各不相同。所以我放弃了,希望通过定时器来触发Search这个动作。
我就继续查找,终于被我找到了,James,也是一款jQuery插件。他有很多的参数和实现方法。其中就有我最希望用的方法定时器。如1000ms触发一次。
James的demo可以看一下这里
James配置清单
1,keydelay表示按扭延迟时间,默认为300
2,minlength表示输入文本长度最小值,默认为3
3,method表示提交方法,默认为get,可选get和post
4,varname表示提交变量名,默认为input_content,用于处理文件获取变量,如上:$_GET['input_content']
5,params表示参数,默认为空

个人修改增加了close功能,可以将显示出的层关闭。下载地址 [".li_james_close"为“Close”的样式,大家可以自己修改。]

另建议大家focus事件进行触发,不然一载入页面就触发,就定时扫描了。虽然不是服务器端,还是会造成客户端压力的。

如:

$(document).ready(function() {
$(“#searchkey”).focus(function(){
$(“#searchkey”).james(“search.php”);?>”, {
minlength: 1,
method: “post”,
varname: “q”,
keydelay: 300
});
});
});

猜测您可以感兴趣的内容:

30th
OCT

【收集】 33个JavaScript自动完成脚本

Posted by JCLee under 资源

1. Proto!TextboxList (演示地址)

一个使用Prototype library开发具有autocomplete功能类似于Facebook的TextboxList控件。
2. jQuery Autocomplete Plugin

jQuery插件易于集成到现在的表单中(Form)。
3. dhtmlxCombo

dHTMLxCombo是一个跨平台的,具有Autocomplete功能,支持Ajax的combobox。
4. Facebook like Autocomplete (演示地址)

基于jQuery开发,类似于FaceBoox提供的AutoCompleter
5. MooTools Autocompleter (演示地址)

利用MooTools开发,支持从本地对象获取数据或通过XHR取得Json或Xhtml。
6. jQuery Autocomplete Mod (演示地址)

jQuery Autcomplete插件。能够限制下拉菜单显示的结果数。
7. jqac

基于Jquery开发的Autocomplete插件。具有易于使用,配置简单,既可以利用Ajax读取数据也可以直接从本地获取数据。
8. jQuery Tag Suggestion (演示地址)

类似于del.icio.us提供的tag suggesting功能。
9. Spry Auto Suggest (演示地址)

Spry Auto Suggest控件。Spry是Adobe公司针对目前越来越流行的Ajax技术而推出自己的Ajax框架。
10. Autocomplete-jQuery ajax (演示地址)

利用jQuery(Ajax),PHP和MySQL开发的AutoCompleter。
11. jQuery.Suggest

跨浏览器支持,基于jQuery开发的Autocomplete library。
12. Autocomplete- jQuery plugin

一个jQuery Autocompleter,提供缓存选项来限制对服务器的请求。
13. jQuery plugin: Autocomplete (演示地址)

自动完成输入框值让用户能够快速查找和过滤某些值。
14. jSuggest

模仿Google Suggest功能的AutoComplete jQuery插件。
15. Control.Autocomplete

基于Mootools框架开发的Autocomplete控件。
16. ddcombobox

带AutoComplete功能的下拉选择框jQuery插件。
17. jQuery Live Ajax Search Plug-in
采用jQuery开发的AutoComplete控件。搜索结果展示框完全可以利用CSS自定义,内容展示是一个HTML页面。
18. A fancy Apple.com-style search suggestion (演示地址)

这是一个使用HTML/CSS,jQuery,MySQL PHP等技术实现的Search Suggestion。
19. TextboxList (演示地址)

这个Mootools插件能够将普通的文本输入框,转换成拥有Autocomplete功能风格类似于Facebook的文本输入框。支持任意类型的数据源(XHR、Json)。
20. Autobox2 (演示地址)
Autobox2这个jQuery插件,可以用于创建类似于Facebook风格的AutoComplete控件。
21. MavSuggest (演示地址)
MavSuggest是一个采用Mootools框架实现的AutoComplete控件。MavSuggest只支持JSON格式的数据对象。服务端可以采用任意语言实现,服务端只需按要求输出相应的JSON对象即可。
22. Tokenizing Autocomplete Text Entry (演示地址)

一个jQuery插件能够让用户从一个预设的列表中,选择多个项目。并提供Autocompletion功能来帮助用户搜索项目。支持通过CSS控制和定制布局。能够缓存搜索结果减少服务器加载次数。支持用鼠标或键盘来选择项目。提供平滑的动画数据加载效果。
23. AutoComplete-JQuery (演示地址)

jQuery插件易于集成到现在的表单中(Form)。
24. jQuery Autocomplete Mod

jQuery Autcomplete插件。能够限制下拉菜单显示的结果数。
25. jqac (演示地址)

基于Jquery开发的Autocomplete插件。具有易于使用,配置简单,既可以利用Ajax读取数据也可以直接从本地获取数据。
26. Spry AutoSuggest

Spry Auto Suggest控件。Spry是Adobe公司针对目前越来越流行的Ajax技术而推出自己的Ajax框架。
27. Autocomplete-jQuery ajax (演示地址)

利用jQuery(Ajax),PHP和MySQL开发的AutoCompleter。
28. jQuery.Suggest (演示地址)

跨浏览器支持,基于jQuery开发的Autocomplete library。
29. Autocomplete- jQuery plugin

一个jQuery Autocompleter,提供缓存选项来限制对服务器的请求。
30. MavSuggest (演示地址)
MavSuggest是一个采用Mootools框架实现的AutoComplete控件。MavSuggest只支持JSON格式的数据对象。服务端可以采用任意语言实现,服务端只需按要求输出相应的JSON对象即可。
31. 好友选择器 (演示地址)

用jquery 仿照开心网做的查找用户自动提示插件.
32. Flexselect

jQuery Flexselect 同样是一款下拉框提示插件,也就是大家所说的输入框提示。目前,jQueryFlexselect已经发展到v0.2版本,其用法千变万化,适用的场合也 越来越多,具体的用法最好阅读一下官方的文档。它可以与其它的输入框形成级联提示,比以往的几款提示插件功能更强大。
33. FlexBox

FlexBox 是一个 jQuery 插件用来显示动态下拉框,使用的是 JSON 格式的数据源。

猜测您可以感兴趣的内容:

This site is protected by WP-CopyRightPro