2

在我的 rails 应用程序中,当用户尝试删除图像时,我会创建一个确认对话框:

<%= link_to image, :method => :delete, :confirm=> "Are you sure you want to delete this video?", :remote => true, :class=> "btn btn-mini trash" do %>
   <i class="icon-trash"></i>
<% end %>

如果用户从对话框窗口中选择“取消”,如何使用 jquery 检测?

4

2 回答 2

2

Graham 为 Steve 的文章提供了很好的链接。

所以,根据文章和UJS代码,可以覆盖UJS的confirm方法。

原始代码很简单(https://github.com/rails/jquery-ujs/blob/master/src/rails.js

// Default confirm dialog, may be overridden with custom 
// confirm dialog in $.rails.confirm
confirm: function(message) {
  return confirm(message);
},

然后,使用 vanilla Javascript,您可以在应用程序的 js 文件中编写类似的内容来覆盖此方法。

$.rails.confirm = function(message) {
  if (confirm(message)) {
    return true;            //UJS will continue doing his job
  } else {         
    console.log('canceled') // Do you own logic
    return false;           //Make sure to return false at the end
  }     
}

jsfiddle 演示:http: //jsfiddle.net/billychan/GS5hZ/

于 2013-11-07T16:35:05.610 回答
0

此功能基于Rails 的 UJS 库,您可以轻松地对其进行自定义以满足您的需求,甚至可以基于 Twitter Bootstrap 或其他 UI 工具包进行完全自定义的对话框。有几个资源可以做到这一点。这是一个很好的帖子,以及这个 Stack Overflow 帖子

于 2013-11-07T15:45:18.517 回答