因爲您立即調用該函數並返回結果,而不是引用它。
當添加括號調用該函數,並將結果傳回的onclick
document.getElementById('main_div').onclick = clickie(); // returns undefined
所以它實際上等於寫
document.getElementById('main_div').onclick = undefined;
這是不是你想要的,你想
document.getElementById('main_div').onclick = clickie;
但是你不能傳遞參數,所以要做到這一點,你必須使用匿名函數nction以及
document.getElementById('main_div').onclick = function() {
clickie(argument1,argument2);
}
,它是通常最好使用的addEventListener附加事件偵聽器,但同樣的原則也適用,它要麼(不帶參數)
document.getElementById('main_div').addEventListener('click', clickie, false);
或匿名函數傳遞參數
document.getElementById('main_div').addEventListener('click', function() {
clickie(argument1,argument2);
}, false);
訪問函數內的PARAMS – jhyap