我有一个由 link_to
辅助方法生成的删除按钮。它产生以下标记。
<a href="/clips/150" class="btn btn-mini btn-danger" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>
当我单击此按钮时,它会按预期打开确认
对话框。
但是,我想覆盖此确认对话框。我想使用 Bootbox 显示确认对话框。
所以,我尝试解除这些按钮的点击事件的绑定(bind)。我已经尝试了以下所有方法(在控制台中)。但没有一个有效。
$('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
。但我不想要这样。我希望将其作为默认功能。我将覆盖运行时。我怎样才能实现这一目标?
最佳答案
覆盖默认的确认操作怎么样?参见UJS源码:
// Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
confirm: function(message) {
return confirm(message);
},
关于ruby-on-rails - Rails UJS - 解除绑定(bind)事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377943/