私はこれをやってしまいました.ujsに依存するjQueryプラグインのようなものです:
これは私の中でuser_sessions/new.js.erb
$(this).modal("<%= escape_javascript(render 'form') %>");
次に、jQueryプラグインを次のように作成しました。
jQuery.fn.modal = function(content) {
var modal_screen = $(document.createElement('div')).addClass("modal_screen");
var modal_container = $(document.createElement('div')).addClass("modal_container");
var modal_outer_border = $(document.createElement('div')).addClass("modal_outer_border").appendTo(modal_container);
var modal_inner_border = $(document.createElement('div')).addClass("modal_inner_border").appendTo(modal_outer_border);
var modal_contents = $(document.createElement('div')).addClass("modal_contents").appendTo(modal_inner_border);
$(modal_screen).appendTo('body');
$(modal_container).appendTo('body');
$(modal_contents).append(content);
}
そして、私はそれがたくさんのコンテナであることを知っていますが、モーダルウィンドウを垂直方向に中央に配置し、素敵な二重境界線の状況を提供するためにこれを行う必要がありました.
この人たちについてどう思うか教えてください!
$.modal("<%= escape_javascript(render 'form') %>");
おそらく、追加の質問は、jQuery プラグインを作成するときに、オブジェクトなしでプラグインを呼び出すだけthis
で、jQuery オブジェクト自体でメソッドを呼び出すことができるようにするにはどうすればよいでしょうか?