gpt4 book ai didi

javascript - 使用addEventListener来替换每个onClick

转载 作者:行者123 更新时间:2023-11-28 12:17:56 26 4
gpt4 key购买 nike

下面有关于水果、动物、树木的无序列表......大约 100 个具有相同类别的按钮:

<ul>
<li><button class="bb" value="apple" onClick="aJax(value)">Apple</button></li>
<li>Banana
<ul>
<li><button class="bb" value="green_banana" onClick="aJax(value)">Green_banana</button></li>
<li><button class="bb" value="yellow_banana" onClick="aJax(value)">Yellow Banana</button></li>
</ul>
</li>
<li><button class="bb" value="cherry" onClick="aJax(value)">Cherry</button></li>
<li><button class="bb" value="cow..................and more....
</ul>

如果单击,我想将值传递给 Ajax 以从 mySql 返回数据:

  <script>
function aJax(value)
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","some_page.php?q="+value,true);
xmlhttp.send();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("some_id").innerHTML = xmlhttp.responseText;}
}
}
</script>

在我上面的例子中是否可以使用addEventListener来替换每个onClick?如果我想把JS代码放在header中怎么办?请帮助,我需要它在原生 JS 中。谢谢。

最佳答案

是的,你可以做到:

var bbs = document.getElementsByClassName("bb");
for(var i =0; i< bbs.length; i++){
bbs[i].addEventListener('click', function(){
var attr = this.value;
console.log(attr);
});
}
<ul>
<li><button class="bb" value="apple" >Apple</button></li>
<li><button class="bb" value="banana">Banana</button></li>
<li><button class="bb" value="cherry">Cherry</button></li>
</ul>

您可以调用自定义函数,而不是 console.log(attr);

关于javascript - 使用addEventListener来替换每个onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44928377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com