やりたいこと
Remodal.jsを使って、モーダルを実装しようとしています。
デフォルトでは、特定の属性を持つ要素のクリックイベントでモーダルが立ち上がるようになっています。
これに加えて、ドロップダウンリスト(select要素)の選択時にモーダルを立ち上がるように機能追加をしたいのですが、Remodal.jsを別JavaScriptファイルにて拡張することは可能でしょうか。難しい場合、必要な部分だけコピーして別ファイルを作ることを検討しています。
質問
無名関数の即時実行なので、別ファイルからはremodal.jsで定義された変数・関数にはアクセスできない認識であっていますでしょうか。
Remodal.js
https://github.com/vodkabears/Remodal/blob/master/src/remodal.js
js
1!(function(root, factory) { 2 if (typeof define === 'function' && define.amd) { 3 define(['jquery'], function($) { 4 return factory(root, $); 5 }); 6 } else if (typeof exports === 'object') { 7 factory(root, require('jquery')); 8 } else { 9 factory(root, root.jQuery || root.Zepto); 10 } 11})(this, function(global, $) { 12... 13// Remodal.js body 14// ... 15 $(document).ready(function() { 16 17 // このファンクションの、select要素のchangeイベントリスナー版を追加する 18 $(document).on('click', '[data-' + PLUGIN_NAME + '-target]', function(e) { 19 e.preventDefault(); 20 21 var elem = e.currentTarget; 22 var id = elem.getAttribute('data-' + PLUGIN_NAME + '-target'); 23 var $target = $('[data-' + PLUGIN_NAME + '-id="' + id + '"]'); 24 25 $[PLUGIN_NAME].lookup[$target.data(PLUGIN_NAME)].open(); 26 }); 27// ... 28 29}); 30
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/13 00:41