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);
},

次に、バニラ 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 に答える