我有link_to
辅助方法生成的删除按钮。它产生以下标记。
<a href="/clips/150" class="btn btn-mini btn-danger" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>
当我单击此按钮时,它会按预期打开confirm
对话框。
但是,我想覆盖此确认对话框。我想使用Bootbox显示确认对话框。
所以,我尝试解除这些按钮的点击事件。我已经尝试了以下所有方法(在控制台中)。但都没有效果。
$('a[data-confirm]').unbind('click')
,或者
$('a[data-confirm]').off('click')
,或者
$('a[data-confirm]').undelegate('click')
甚至,我尝试click.rails
作为事件名称,因为我看到这是jquery_ujs.js中的声明。
$(document).delegate(rails.linkClickSelector, 'click.rails', function(e) {
您可以在调用帮助方法时让我删除:confirm => true
。但我不希望这样。我希望这是默认功能。我将覆盖运行时。我怎样才能做到这一点?
答案 0 :(得分:1)
如何覆盖默认确认操作?参见UJS的源代码:
// Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
confirm: function(message) {
return confirm(message);
},
答案 1 :(得分:1)
虽然我问过如何覆盖rails ujs默认确认方法,但我的目的是使用bootbox confirm对话框而不是默认浏览器的确认框。
我在这里开箱即用解决方案。我在这里链接这个,以便它可以帮助其他有类似要求的人: