无法读取undefined i18n

时间:2017-07-12 10:51:02

标签: javascript properties

当我尝试从选择下拉列表中动态传递语言时,它显示以下错误 未捕获的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 }); 
}

以下是它的照片:

Dropdown image

Console error

代码有什么问题? 请建议! 感谢

更新: 更多解释: 这是我的索引文件,最初我用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); 
});

它给出了上述错误

1 个答案:

答案 0 :(得分:0)

可能i18n库在jquery之前加载(问题哈哈)。

所以,将jQuery加载到html的头部和插件i18n(以及其他人,如果你使用的话)在html的正文中(我建议在主体的末尾)。

这必须解决问题。