我在javascript(jquery)中有一个登录页面,并且用Mustache模板化。
javscript将html内容添加到页面(基本上是一个常见的标题),最后我做了一个Mustache.to_html ,用指定的语言将文本更改为正确的文本(我使用的是Moustache)作为一个简单的多语言解决方案)。
在最后一步中,所有按键事件都无效。
如果我删除了Mustache.to_html,它就可以了。
login.html(gcf_generals_post.js是Mustache调用的地方,login.js是keypress事件绑定的地方):
...
<!-- Personalitzacions -->
<script src="../js_gcf/gcf_generals.js"></script>
<script src="../js_gcf/gcf_generals_pre.js"></script>
<script src="js/login.js"></script>
<script src="../js_gcf/gcf_generals_post.js"></script>
</head>
...
login.js:
$(document).ready(function() {
$("#user").val(localStorage.usuari);
$("#remember")[0].checked = localStorage.recordarLogin;
/* Carreguem el header comú del portal*/
$("#gcf_header").load("thor_header_simple.html");
$("#remember").click(function() {
localStorage.recordarLogin = $("#remember")[0].checked;
});
$('#user').keypress(function(e){
if(e.which === 13) {
$('#password').focus();
}
});
$('#password').keypress(function(e){
if(e.which === 13) {
$('#gcf_bLogin').click();
}
});
$("#gcf_bLogin").click(function() {
sessionStorage.usuari = $("#user").val();
sessionStorage.token = "";
...
gcf_generals_post.js:
$(document).ready(function() {
/* Carreguem textos => Tot el contingut dels elements de classe gcf_mlg */
$.getJSON('gcf_mlg/mlg_ca.json')
.done(function(data) {
$('.gcf_mlg').each(function() {
var template = $(this).html();
var html = Mustache.to_html(template, data);
$(this).empty().html(html);
});
});
});
我怀疑用$(this).html(...)更改输入内容会删除按键事件,但我不知道如何解决它。显然,我在发布这个问题之前做了很多谷歌搜索。
任何人都可以对此有所了解吗?
此致
Seak