我有下一个代码来替换.js文件中字符串的重音:
var accents = /[áéíóúüÁÉÍÓÚÜ]/g;
var translate = {
"á": "a", "é": "e", "í": "i", "ó": "o", "ú": "u", "ü": "u",
"Á": "A", "É": "E", "Í": "I", "Ó": "O", "Ú": "U", "Ü": "U"
};
function removeAccents (stringArg) {
console.log(stringArg);
var returnStr = stringArg.replace(accents, function(match) {
return translate[match];
});
return returnStr;
}
我通过jQuery将removeAccents
函数绑定到DOM文本输入,如下所示:
jQuery(document).ready(function () {
jQuery(".strReplace").keyup(function (e) {
var translatedStr = removeAccents(jQuery(this).val());
// more code to execute
});
});
但是,当我输入输入字段时,程序会中断下一个控制台输出:
"M"
undefined
"Uncaught TypeError: Cannot read property 'replace' of undefined"
"Mó"
undefined
"Uncaught TypeError: Cannot read property 'replace' of undefined"
正如您在输出中看到的那样,字符串值将传递给stringArg
变量,但是当我尝试操作它时,该变量未定义。我错过了什么?
提前感谢您的回复。