正しいボタンがクリックされた場合にのみ、指定された関数が呼び出されるようにします。
function callback(func){
func();
}
主な機能とその結果:
試行 A:
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('num1').addEventListener('click', callback(function1));
document.getElementById('num2').addEventListener('click', callback(function2));
});
結果: ページを開いていずれかのボタンをクリックすると、function1 が実行されます。
試行 B:
document.addEventListener('click', function () {
document.getElementById('num1').addEventListener('click', callback(function1));
document.getElementById('num2').addEventListener('click', callback(function2));
});
結果: ページの任意の場所をクリックすると function1 が実行されます
試行 C:
document.getElementById('num1').addEventListener('click', callback(function1));
document.getElementById('num2').addEventListener('click', callback(function2));
結果: ページを開いてボタンをクリックすると、function1 が実行され、ページがリロードされます。
試行 D:
document.addEventListener('click', function () {
//The first ID doesn't exist
document.getElementById('imaginaryNum1').addEventListener('click', callback(function1));
document.getElementById('num1').addEventListener('click', callback(function1));
document.getElementById('num2').addEventListener('click', callback(function2));
});
結果: ページの任意の場所をクリックすると function1 が実行されます
試行 E:
//The first ID doesn't exist
document.getElementById('imaginaryNum1').addEventListener('click', callback(function1));
document.getElementById('num1').addEventListener('click', callback(function1));
document.getElementById('num2').addEventListener('click', callback(function2));
結果: ページを開いてボタンをクリックすると、function1 が実行され、ページがリロードされます。