当我尝试从选择下拉列表中动态传递语言时,它显示以下错误 未捕获的TypeError:无法读取changeLanguage
中未定义的属性“属性”其中changeLanguage是我的功能如下:
function changeLanguage(lang)
{
lang = lang || "en_EN"; // if no language is set, use browser default
jQuery.i18n.properties({
path : 'language',
mode : 'both', language: lang,
name: 'Messages',
callback: refresh_i18n });
}
以下是它的照片:
代码有什么问题? 请建议! 感谢
更新: 更多解释: 这是我的索引文件,最初我用onload调用它可以正常工作。
<script>
function refresh_i18n() {
// console.log('test')
}
function changeLanguage(lang) {
lang = lang || "en_EN";
jQuery.i18n.properties({
path : 'js/libs/language',
mode : 'both',
language: lang,
callback: refresh_i18n
});
}
changeLanguage("en_US");
</script>
但是当我通过更改下拉列表来调用时:
$('#selectLanguage').change(function(){
changeLanguage(this.value);
});
它给出了上述错误
答案 0 :(得分:0)
可能i18n库在jquery之前加载(问题哈哈)。
所以,将jQuery加载到html的头部和插件i18n(以及其他人,如果你使用的话)在html的正文中(我建议在主体的末尾)。
这必须解决问题。