1
我有這樣的代碼:的Javascript的onclick自動觸發
var bt_empty = document.getElementById("bt_empty");
if(bt_empty)
bt_empty.onclick = emptyCart();
但每次我打開網頁,該按鈕觸發本身的時間。我怎樣才能避免這種情況? 感謝
我有這樣的代碼:的Javascript的onclick自動觸發
var bt_empty = document.getElementById("bt_empty");
if(bt_empty)
bt_empty.onclick = emptyCart();
但每次我打開網頁,該按鈕觸發本身的時間。我怎樣才能避免這種情況? 感謝
從emptyCart()
刪除括號:
bt_empty.onclick = emptyCart;
通過包括括號,它執行的功能,然後分配返回值到onclick
事件,而不是分配的實際功能本身。
包含括號的唯一原因是函數返回函數。例如:
function emptyCart(){
return function(){
console.log("clicked");
};
}
bt_empty.onclick = emptyCart();
謝謝,它的工作!但是,將返回值分配給onclick事件有什麼意義? (在結構上我的意思是) – Xriuk
除非'emptyCart()'函數返回一個函數(在onclick上執行),否則分配返回值沒有意義。 – MrCode