Onclick işlevleri olan bir div içindeki bir div üzerinde olay köpürmesini önlemek için olay dinleyicilerini kullanmak istiyorum. Bu planladığım nasıl parametreler iletme çalışır: AncakJavascript birden çok dinamik addEventListener döngü geçirmeyen parametreler için oluşturulmadı
<div onclick="doMouseClick(0, 'Dog', 'Cat');" id="button_id_0"></div>
<div onclick="doMouseClick(1, 'Dog', 'Cat');" id="button_id_1"></div>
<div onclick="doMouseClick(2, 'Dog', 'Cat');" id="button_id_2"></div>
<script>
function doMouseClick(peram1, peram2, peram3){
alert("doMouseClick() called AND peram1 = "+peram1+" AND peram2 = "+peram2+" AND peram3 = "+peram3);
}
</script>
, bu bir döngü içinde birden fazla olay dinleyicileri oluşturmaya çalıştık:
<div id="button_id_0"></div>
<div id="button_id_1"></div>
<div id="button_id_2"></div>
<script>
function doMouseClick(peram1, peram2, peram3){
alert("doMouseClick() called AND peram1 = "+peram1+" AND peram2 = "+peram2+" AND peram3 = "+peram3);
}
var names = ['button_id_0', 'button_id_1', 'button_id_2'];
for (var i=0; i<names.length; i++){
document.getElementById(names[i]).addEventListener("click", function(){
doMouseClick(i, "Dog", "Cat");
},false);
}
</script>
O doğru her div tıklama işlevi atar ama Her biri için peram1
numaralı parametre, 3
'dur. peram1
için i
farklı değerlerini geçen 3 farklı olay işleyicisini bekliyordum.
neden oluyor? Olay işleyicileri ayrı değil mi?
Çok teşekkür ederim:)! – KDawg
Teşekkürler. Neden kapsam dışında kaldığımı ve “undefined” elemanını iade ettiğimi merak ediyordum. –