Rails 4删除受模板JS影响的链接
Rails 4 Delete link influenced by Template JS
我正在使用带有设备的rails 4。所有Devise功能都按预期工作,包括以下代码提供的"注销"链接:
= link_to "<span class= 'fa fa-power-off'></span> Sign Out".html_safe, destroy_user_session_path, method: :delete
此后,我安装了一个模板,遇到了一些问题。当我把"注销"链接放在导航栏的下拉列表中时,模板文件中的JS似乎造成了一些困难。如果我把链接放在正常的正文内容中,它确实有效。这让我找到了模板源代码,试图弄清楚为什么这个链接在放置在模板导航栏下拉列表中时发送的是GET请求而不是DELETE请求。在我删除了以下代码后,我的链接开始工作:
$('.dropdown-menu').on('click', function(e) {
e.stopPropagation();
var Target = $(e.target);
var TargetGroup = Target.parents('.btn-group');
var SiblingGroup = Target.parents('.dropdown-menu').find('.btn-group');
// closes all open multiselect menus. Creates Toggle like functionality
if (Target.hasClass('multiselect') || Target.parent().hasClass('multiselect')) {
SiblingGroup.removeClass('open');
TargetGroup.addClass('open');
}
else { SiblingGroup.removeClass('open'); }
e.stopPropagation();
var Target = $(e.target);
var TargetGroup = Target.parents('.btn-group');
var SiblingGroup = Target.parents('.dropdown-menu').find('.btn-group');
});
当我添加剩下的Template.js文件时,它再次停止工作,所以我假设在其他文件中也做了类似的事情。我没有删除JS的片段,而是试图了解发生了什么。我知道Rails使用它的uj来触发DELETE请求,但为什么上面的JS代码阻碍了Rails做它应该做的事情?
PS。我的JS并不流利,所以对于一个非常了解JS的人来说,这似乎很简单。
我认为问题出在js代码中的e.stopPropagation();
行。这些可能并不是真正需要的。但是,它可能取决于下拉菜单中其他链接的种类。试着去掉这两条线,检查一下是否一切正常。
相关文章:
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 是否可以使用Chart.js缩短雷达图上的外部标签,而不影响其他标签
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- Meteor.js只影响新插入的子模板
- 当 Node.js 调用 HTML 时,外部 Javascript 和 CSS 不会对 HTML 产生影响
- 使用Sammy取消路线.js而不影响历史记录
- 自定义着色器不受 Three.js 中的雾影响
- 动态添加的元素不受砖石.js的影响
- 节点.js cron 是否会影响系统性能
- 标签内“加载”JS对目标没有影响
- 需要模块如何影响 Node.js 中的性能
- 将超大图像扩展到磁贴上方而不是下方?影响JS
- 直流.js重置不会影响鼠标缩放
- Angular js$setViewValue不会影响ngModel
- Node.js中未使用需求的性能影响
- 在不影响第一行的情况下,每隔一行缩进一个表.html/css/js/jQuery
- js更改变量会影响到原始变量
- 从Node.js在MySQL中更新-如何判断是否影响零行
- require node.js模块在单个函数中与全局函数中对性能的影响
- Rails 4删除受模板JS影响的链接