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条)

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题