下記2つを最後に呼び出してまとめたいのですが、let shoppingCalc =と変数に入れてもfunction 変数名 とトランスパイルされません。
let shoppingCalc = document.getElementById('shoppingBtn').onclick = () => { }; document.getElementById('shoppingBtnGram').onclick = () => { }; //まとめる let shoppingCalcAll = getIdshoppingBtn.addEventListener('click', ()=> { shoppingCalcGram(); shoppingCalc(); });
イベントリスナーの場合どのようにして関数に名前を付けて再利用するのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
shoppingBtn、shoppingBtnGramのイベントリスナー関数を別途定義して利用すればいいと思いますが。
javascript
1function shoppingCalc(evt) { 2} 3function shoppingCalcGram(evt) { 4} 5 6document.getElementById('shoppingBtn').onclick = shoppingCalc; 7document.getElementById('shoppingBtnGram').onclick = shoppingBtnGramClick; 8 9}; 10 11getIdshoppingBtn.addEventListener('click', ()=> { 12 shoppingCalcGram(); 13 shoppingCalc(); 14});
投稿2017/02/28 06:05
編集2017/02/28 06:17総合スコア4267
0
JavaScript
1function hogeFunction(tag) {console.debug("hogeFunction:" + tag);} 2 3function hogeEvent(callback, text) { 4 callback(text); 5} 6 7var hogeEventListener1 = null; 8var hogeEventListener2 = null; 9 10(() => { 11 hogeEventListener1 = (text) => { 12 hogeFunction(text); 13 }; 14 15 let func = hogeFunction; 16 hogeEventListener2 = (text) => { 17 func(text); 18 }; 19 20 hogeEvent(hogeEventListener1, "before"); 21 hogeEvent(hogeEventListener2, "before"); 22})(); 23 24var hogeFunction = function(tag) {console.debug("newFunction:" + tag);}; 25 26(() => { 27 hogeEvent(hogeEventListener1, "after"); 28 hogeEvent(hogeEventListener2, "after"); 29})(); 30 31//出力 32//hogeFunction:before 33//hogeFunction:before 34//newFunction:after 35//hogeFunction:after
JavaScript におけるすべての関数は、実際には Function オブジェクトです。
投稿2017/02/28 07:16
総合スコア1280
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/28 07:30
退会済みユーザー
2017/02/28 07:39
0
ベストアンサー
getIdshoppingBtn.addEventListener('click', ()=> { shoppingCalcGram(); shoppingCalc(); });
の部分の、
()=> { shoppingCalcGram(); shoppingCalc(); }
ここをまとめたいのであれば、
javascript
1function matometai(){ 2 shoppingCalcGram(); 3 shoppingCalc(); 4} 5getIdshoppingBtn.addEventListener('click', matometai()); 6
という形でしょうか。
投稿2017/02/28 05:55
総合スコア50
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/02/28 06:02
2017/02/28 06:11 編集
退会済みユーザー
2017/02/28 06:30
2017/02/28 07:49
退会済みユーザー
2017/03/01 05:34
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/02/28 06:12
2017/02/28 06:17
退会済みユーザー
2017/02/28 06:31
2017/02/28 06:33
退会済みユーザー
2017/02/28 06:38
2017/02/28 06:39
退会済みユーザー
2017/02/28 07:00