【问题标题】:How to fire CoffeeScript/Javascript after user presses back button用户按下后退按钮后如何触发 CoffeeScript/Javascript
【发布时间】:2015-06-02 23:44:38
【问题描述】:

我的 Rails 4 应用程序上的 UI 的不同部分依赖于动态填充的选择控件,其中第一个选择中选择的选项决定了第二个选择中可用的选项。设置第二个选择的选项的脚本在选择的 onChange 事件被触发时运行。

一切正常,直到用户单击浏览器的后退按钮并返回到包含两个选择控件的表单。第一个选择保留用户的选择,但第二个选择(由脚本动态填充)恢复为默认选项。

当用户使用后退按钮时,浏览器似乎根本不会触发任何事件,因此我似乎没有任何东西可以挂起我的脚本。用户按下后退按钮后如何让我的脚本运行?

如果我无法让实际脚本运行,我有哪些替代方案?我是否必须放弃动态选择,转而使用在一个控件中列出所有选项的单一、大量选择?

【问题讨论】:

标签: javascript ruby-on-rails coffeescript


【解决方案1】:

这是一个不优雅但权宜的解决方案:

我没有重新创建我自己的会话历史机制,而是在我的表单中添加了一个javascript_tag,其中包括在页面加载时运行的脚本副本(包括当用户点击后退按钮时,而我的资产中的脚本文件夹仅在新加载页面时运行)。

此解决方案无论如何都不是 DRY,但它适用于这种有限的情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多