javascript - 一个自动检索插件的疑问 autocomplete 中文支持性不好?
ringa_lee
ringa_lee 2017-04-10 17:36:08
[JavaScript讨论组]
  1. 先附上插件地址,这个链接上就可以查看到问题。你输入中文的时候会发现,有时候中文还未输入完全就已经有文字显示在里面。

问题如下:

因为是github上面的项目我想到的是看一下有没有ieeues发现有人提交问题,但是没有解决,看源码又不知道从何看起,所以无奈发布问题。这个插件除了这个问题均可以满足我的要求。希望有人能帮我解决。

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
怪我咯

不知道为什么代码里面有这个,然后把下面的注释掉了就可以了,下面的代码其实我看也没什么作用??暂时问题解决了,如果有谁有什么见解,可以发我下。

PHP中文网

建议换个插件,读源码看这段

accent_map = {
            'ẚ':'a','Á':'a','á':'a','À':'a','à':'a','Ă':'a','ă':'a','Ắ':'a','ắ':'a','Ằ':'a','ằ':'a','Ẵ':'a','ẵ':'a','Ẳ':'a',
            'Ẫ':'a','ẫ':'a','Ẩ':'a','ẩ':'a','Ǎ':'a','ǎ':'a','Å':'a','å':'a','Ǻ':'a','ǻ':'a','Ä':'a','ä':'a','Ǟ':'a','ǟ':'a',
            'Ã':'a','ã':'a','Ȧ':'a','ȧ':'a','Ǡ':'a','ǡ':'a','Ą':'a','ą':'a','Ā':'a','ā':'a','Ả':'a','ả':'a','Ȁ':'a','ȁ':'a',
            'Ȃ':'a','ȃ':'a','Ạ':'a','ạ':'a','Ặ':'a','ặ':'a','Ậ':'a','ậ':'a','Ḁ':'a','ḁ':'a','Ⱥ':'a','ⱥ':'a','Ǽ':'a','ǽ':'a',
            'Ǣ':'a','ǣ':'a','Ḃ':'b','ḃ':'b','Ḅ':'b','ḅ':'b','Ḇ':'b','ḇ':'b','Ƀ':'b','ƀ':'b','ᵬ':'b','Ɓ':'b','ɓ':'b','Ƃ':'b',
            'ƃ':'b','Ć':'c','ć':'c','Ĉ':'c','ĉ':'c','Č':'c','č':'c','Ċ':'c','ċ':'c','Ç':'c','ç':'c','Ḉ':'c','ḉ':'c','Ȼ':'c'
//....................................
}

//后面还有许多字符,这里不全给你粘贴过来了,看下面调用 accent_map 对象的这段

function accentReplace (s) {
        if (!s) { return ''; }
        var ret = '',i;
        for (i=0; i < s.length; i+=1) {
            ret += accent_map[s.charAt(i)] || s.charAt(i);
        }
        return ret;
}

全文搜索,只有这段含有 accent_map 对象的使用,简单易懂吧,就是把各种带音调的,或者不同的英文字符,转换成标准的英文字母或者直接拼接字符串。

这一段恰恰是关键,在你输入法打字的时候字符先进入输入框而转换成汉子是在你敲空格之后,但是这时输入框已经判断出了你的字符并转换成标准英文。

再仔细看你又会发现只有你输入的第一次个字符才会变成英文,后面的输入正常了,因为这个事件不是持续的监听,只会监听一次,这也和代码有关。

作者设计的时候把重点放在英文字符和数字字符上,并没有考虑中文,你可以试着改写代码,但是我建议你再找其它插件,改代码耽误时间还未必有效

望采纳

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号