s_九九 2017-11-17 05:13 采纳率: 50%
浏览 924
已采纳

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

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

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

  • 写回答

4条回答 默认 最新

  • 前端-珊珊 2017-11-17 07:39
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料