gpt4 book ai didi

javascript - Select2 自定义匹配器,但保留 stripDiacritics

转载 作者:数据小太阳 更新时间:2023-10-29 04:43:43 25 4
gpt4 key购买 nike

我知道在以前的 select2 版本中,stripDiacritics 被导出,所以它可以在默认匹配器之外访问。在当前版本 4.0.1 中,似乎不可能编写自定义匹配器并使用 select2 的 stripDiacritics,因为未在 $.fn.select2.defaults

中导出

为我编写自定义匹配器提取原始 stripDiacritics 的最佳方法是什么?

我正在尝试编写一个匹配选项文本和数据属性的匹配器。我试图避免修补 select2 的源代码,我想如果我遵循这条路,那将是一场噩梦。

更新

我已经突出显示了实际问题,并按照评论中的建议发布了有关我正在使用的代码的更多详细信息:

我不是要别人为我编写新的匹配器(基于 $.fn.select2.defaults.defaults.matcher),我只是要求最好的方法来提取原始的 stripDiacritics这是私有(private)的,所以我可以使用它。

我可以简单地将函数(及其依赖项:DIACRITICS 对象)复制到我的代码中,但这是我试图避免的漏洞。

最佳答案

由于 stripDiacriticss 是私有(private)方法,因此您无能为力(除了解析源代码)。

但是,如果您乐于从 select2 代码库中仅复制 stripDiacritics 方法并依靠 select2 提供 DIACRITICS 依赖项,您始终可以只需要'select2/diacritics' 模块:

$.fn.select2.amd.require(['select2/diacritics'], function (DIACRITICS) {
// stripDiacritics code copied from select2
function stripDiacritics (text) {
// Used 'uni range + named function' from http://jsperf.com/diacritics/18
function match(a) {
return DIACRITICS[a] || a;
}

return text.replace(/[^\u0000-\u007E]/g, match);
}

$(".awesome").select2({
// declare your matcher code here with access to stripDiacritics
})
});

关于javascript - Select2 自定义匹配器,但保留 stripDiacritics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com