我想在我的预先设定中禁用重音敏感度。 所以我使用这段代码:
<script>
var charMap = {
"à": "a",
"á": "a",
"â": "a",
"é": "e",
"è": "e",
"ê": "e",
"ë": "e",
"É": "e",
"ï": "i",
"î": "i",
"ô": "o",
"ö": "o",
"û": "u",
"ù": "u",
"ü": "u",
"ñ": "n"
};
var normalize = function (input) {
$.each(charMap, function (unnormalizedChar, normalizedChar) {
var regex = new RegExp(unnormalizedChar, 'gi');
input = input.replace(regex, normalizedChar);
});
return input;
};
var queryTokenizer = function (q) {
var normalized = normalize(q);
return Bloodhound.tokenizers.whitespace(normalized);
};
var tags = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: queryTokenizer,
prefetch: {
url: '{{URL}}',
filter: function(list) {
return $.map(list, function(tag) {
var normalized = normalize(tag);
return { name: normalized }; });
}
}
});
</script>
我在控制台中遇到了这个错误:
TypeError:输入为空
ps:不使用此规范化方法..我的代码运行良好