内容描述:点击加载出来一个选择页面,再通过点击选择页面元素进入具体的内容展示。
通过点击加载出来的页面内容(该内容未写在html页面,通过js加载),我通过on()在点击之后调用了自己的translate方法。但是下一次点击它会将已经翻译好的结果进行翻译。如果我只调用一次翻译方法。该内容又会在点进子页面之后,重新转成英文。
该如何解决该页面点击进行翻译?
内容描述:点击加载出来一个选择页面,再通过点击选择页面元素进入具体的内容展示。
通过点击加载出来的页面内容(该内容未写在html页面,通过js加载),我通过on()在点击之后调用了自己的translate方法。但是下一次点击它会将已经翻译好的结果进行翻译。如果我只调用一次翻译方法。该内容又会在点进子页面之后,重新转成英文。
该如何解决该页面点击进行翻译?
回答一下为什么会出现这个问题,你加载了内容,但是你translate是在点击的时候才执行将加载的内容翻译,所以每次点击都翻译一遍,所以就出现了你说的那种现象。
1.首先解决你点击一次再点一次进行翻译的问题。你定义一个全局变量,而且设置为空,比如 var content="";然后在translate里面判断是否content有值,如果有值的话就直接return,如果没有值就往下执行,如果content没有值就将你ajax回来的值翻译之后赋值给content。这样就可以解决了你每点一次翻译一次的问题,另外多说一句,在用on绑定的前面先off掉,解绑掉事件,避免出现不必要的问题。
2.解决你点击他进入子页然后回来内容变成英文的问题。由于不知道你是 开发的是什么,如果是用a标签或者window.location.href跳转的话,请将content有的值存储到本地,用window.localStorage 或者window.sessionStorage 存起这个值,在返回这个页面的时候先判断window.localStorage存的这个值在不在,在的话就直接将值赋值给content。
思路大概是这样,不懂可以继续问我,希望对你有帮助