让引导程序的按钮收音机与 Rails UJS(数据远程)配合得很好?

Posted

技术标签:

【中文标题】让引导程序的按钮收音机与 Rails UJS(数据远程)配合得很好?【英文标题】:Make bootstrap's buttons-radio play well with Rails UJS (data-remote)? 【发布时间】:2013-04-14 01:38:09 【问题描述】:

前两个按钮的行为与您预期的一样,但远程/js 驱动的按钮没有显示其他按钮的切换行为。

我认为这可能是由于 UJS 如何劫持点击事件,但我不太确定。

关于如何按预期进行这项工作的任何想法?

现在,我在我的 update.js 文件中有一行为该控制器执行 .button('toggle'),但显然客户端存在延迟,这是不好的用户体验。

<div class="btn-group" data-toggle="buttons-radio">
    <a class="btn btn-primary"><i class="icon-thumbs-up icon-white"></i> Accept0</a>
    <a class="btn btn-primary"><i class="icon-thumbs-up icon-white"></i> Accept1</a>
    <a class="btn btn-primary" href="some_path/update?model[key]=newvalue2" data-remote="true"><i class="icon-thumbs-up icon-white"></i> Accept2</a>
</div>

【问题讨论】:

【参考方案1】:

您对劫持的判断是 100% 正确的。我对 Rails UDJ 不熟悉,但在我看来,该库是在设置 onclick 而不是执行附加事件(addEventListener)。一个覆盖事件,另一个添加到我相信的事件。你能在代码中验证这一点吗?

【讨论】:

阅读 Dom Level 2s 做事方式的区别***.com/questions/6348494/addeventlistener-vs-onclick

以上是关于让引导程序的按钮收音机与 Rails UJS(数据远程)配合得很好?的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5.1 中是不是还需要`require jquery_ujs`?

ajaxSetup 不适用于 Rails / jquery-ujs

jquery_ujs 和 rails-ujs 问题 ajax 页面的问题

有没有办法缩小 Rails UJS 响应?

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)

jQuery Mobile 在使用 UJS 远程链接接受标头时中断 Rails respond_to