超級睏倦和編碼,如果我是一名外科醫生,這不是一個好的組合,如果我是一名外科醫生,我的病人很可能早就過世了!所以在這裏不用我的第一個問題,關於這個網站:多個addEventListener不存儲唯一回調
我的代碼:
function cAction(manipulatedElement) {
console.log(manipulatedElement); //test parameter
// some manipulation code...
}
var cboxes = document.getElementsByClassName('checkbox-toppings');
l = cboxes.length;
for(i = 0; i < l; i++) {
cboxes[i].addEventListener('change',
function() { cAction(i); },
false
);
}
當我檢查/取消我只得到「34」(最後一個複選框)寫入到控制檯,無論複選框哪一個檢查什麼給?每個事件監聽器的回調不應該記住索引號「我」嗎?
希望有人能幫助我。
一些HTML從項目粘貼:
<div class="toppings col-xs-6 col-sm-4 col-md-3">
<div class="checkbox"><label>
<input
type="checkbox"
class="checkbox-toppings"
id="topp1010"
value=""
data-price="300"
>
<span class="toppings-text">pepperoni</span>
</label></div>
</div>
<div class="toppings col-xs-6 col-sm-4 col-md-3">
<div class="checkbox"><label>
<input
type="checkbox"
class="checkbox-toppings"
id="topp1020"
value=""
data-price="300"
>
<span class="toppings-text">ham</span>
</label></div>
</div>
<!-- and 32 more items like this -->
也許一小段HTML會幫助把這段代碼放在上下文中嗎? –
@DarwinvonCorax HTML添加 – Thorhallur