gdjlc

培养良好的习惯,每天一点一滴的进步,终将会有收获。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  364 随笔 :: 3 文章 :: 49 评论 :: 132万 阅读

<html>
<head>
<title></title>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link rel="Stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript">          
       // var test = [ "程序","程序员", "天", "天气", "Google", "Good", "csdn"];        
        $().ready(function() {  
           // $("#test1").autocomplete(test);   
            $("#test1").autocomplete("Handler.ashx",{autoFill: true}); 
        });  
</script>

</head>
<body>
<form id="form1">
  <input type="text" id="test1" />  
</form>
</body>
</html>

===========================================================

Handler.ashx

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string result = "";

        if (context.Request.Params["q"] != null)
        {
            string key = context.Request.Params["q"];
            if (context.Cache.Get(key) != null)
                result = context.Cache.Get(key).ToString();
            else
            {
                for (int i = 0; i < 10; i++)
                {
                    result += key + i.ToString() + "\n";
                }
                context.Cache.Add(
                    key,
                    result,
                    null,
                    DateTime.Now.AddMinutes(3),
                    System.Web.Caching.Cache.NoSlidingExpiration,
                    System.Web.Caching.CacheItemPriority.Default,
                    null);
            }
            context.Response.Write(result);
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

===========================================================

存在问题: 在对中文输入法打开时, firefox 中是对中文拼音的自动匹配,而对输入后的中文无法及时触发匹配,导致延时才出现匹配的中文。

上网搜索到的方法:

说明一下为了支持中文输入,需要修改 jquery.autocomplete.js 文件的几个地方 , 在文件的 190 多行左右,加上如下代码:

.bind( "input" , function () {

    // @hack by liqt:support for inputing  chinese characters  in firefox

    onChange(0, true );

    } )

===========================================================

不是很清楚上面说的是哪个地方,花了几分钟,终于测试通过了,把jquery.autocomplete.js中的下面代码


}).bind("flushCache", function() {
        cache.flush();

修改为

}).bind("input", function() {
         onChange(0, true);
         }).bind("flushCache", function() {
        cache.flush(); 

posted on   gdjlc  阅读(1174)  评论(0编辑  收藏  举报
编辑推荐:
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
阅读排行:
· 我干了两个月的大项目,开源了!
· 推荐一款非常好用的在线 SSH 管理工具
· 千万级的大表,如何做性能调优?
· 盘点!HelloGitHub 年度热门开源项目
· Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,
点击右上角即可分享
微信分享提示