かなり検索しましたが、見つけた答えのどれも 100% 機能していません。
基本的に、ポップアップにいくつかのボタンを表示してから、同じ関数を異なるパラメーターで呼び出す必要があります。概念:
<button onclick="foo(1,2);">Button 1</button>
<button onclick="foo(2,3);">Button 2</button>
シンプルで直接的な方法をいくつか試しましたが、どれもうまくいきません。関数からコードを取り出して popup.js にコードを含めると、機能します (私の関数は問題ありません)。
私はもう試した:
$('#btn1').click(function(e) {
alert('btn1');
});
としても
document.getElementById('btn1').addEventListener('click',doSomething(1,2));
また、ボタン addEventListener の中に追加しようとしましたdocument.addEventListener('DOMContentLoaded', function() {....});
興味深いのは、私の popup.js に button.addEventListener が含まれている場合、ブラウザ アクションをクリックすると最初のイベントが発生し、その後何も機能しないことです。これは、クリック イベント リスナーが DOMContentLoaded リスナー内にあるかどうかに関係なく発生します。
これはCSPの問題だと感じていますが、うまくいかないようです。
疑問符を探している方へ: popup.html/popup.js 内から、onclick イベントに基づいて異なるパラメーターを使用して単一の関数を呼び出すにはどうすればよいですか?