网站翻译 click之后通过jquery实现动态加载元素只翻译一次

内容描述:点击加载出来一个选择页面,再通过点击选择页面元素进入具体的内容展示。

通过点击加载出来的页面内容(该内容未写在html页面,通过js加载),我通过on()在点击之后调用了自己的translate方法。但是下一次点击它会将已经翻译好的结果进行翻译。如果我只调用一次翻译方法。该内容又会在点进子页面之后,重新转成英文。
该如何解决该页面点击进行翻译?

4个回答

回答一下为什么会出现这个问题,你加载了内容,但是你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。

思路大概是这样,不懂可以继续问我,希望对你有帮助

你给点演示截图吧。你这么描述,我们很难理解。

图片说明
你可以单独只把新加载的这一块内容进行翻译啊

谢谢楼上们的回复啦!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!