选择2个自定义匹配器,但保留带状音调符号
Select2 custom matcher, but keep stripDiacritics
我知道在以前版本的select2中,stripDiacritics被导出,因此可以在默认匹配器之外访问。在当前版本中,4.0.1 似乎不可能编写自定义匹配器和使用 select2 的 stripDiacritics,因为没有导出$.fn.select2.defaults
为我编写自定义匹配器提取原始stripDiacritics
的最佳方法是什么?
我正在尝试编写一个与选项的文本和数据属性匹配的匹配器。我试图避免修补 select2 的源代码,我想如果我遵循这条路,那将是一场噩梦。
更新
我已经突出显示了实际问题,并围绕我正在使用的代码发布了其他详细信息,如评论中所建议的那样:
我不是在要求有人为我编写新的匹配器(基于$.fn.select2.defaults.defaults.matcher
),我只是要求提取私有原始stripDiacritics
的最佳方法,以便我可以使用它。
我可以简单地将函数(以及它的依赖项:DIACRITICS
对象)复制到我的代码中,但这是我试图避免的漏洞。
由于 stripDiacritics
s 是一种私有方法,因此您对此无能为力(除了解析源代码)。
但是,如果您满意于仅从 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
})
});
相关文章:
- 分派点击事件并保留击键修饰符
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 提交后保留下拉选择的值
- 在.csv文件中写入学位符号
- 刷新后保留对网页的更改
- 使用相同的数据集绘制各种符号
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 将带点符号的属性(有时)传递给函数
- 使用递归属性迭代保留属性结构
- RegEx JavaScript:数字后的符号提取
- Jquery html() 和保留元素名称
- 如何将字符串拆分为字符,但在javascript中保留空格
- PHP 字符串正在将空格更改为 + 符号.需要解码以保留空格
- 选择2个自定义匹配器,但保留带状音调符号
- 使占位符 % 符号假装保留
- 射击目标:单击鼠标->保留项目符号Hole.gif
- Tinymce编辑器删除所有样式,但保留项目符号和表格,同时粘贴文本
- 给定一个字符串,如何去掉所有符号,只保留字母和数字