gpt4 book ai didi

javascript - 等待元素存在于页面上,然后触发点击功能(纯 JS)

转载 作者:行者123 更新时间:2023-11-30 11:12:40 25 4
gpt4 key购买 nike

不是在 jQuery 中,而是在 vanilla JS 中。

我正在使用以下代码,它在控制台中运行良好;问题是“goCheck”元素在默认情况下不会立即出现,在用户爬过几个部分后,它就会出现;因此,事件监听器立即命中 null。

当我的“goCheck”元素在页面上可见时,我如何让它执行?

    var goCheck = document.getElementById('input_52_65_chosen');
goCheck.addEventListener('click', function (event) {

var value1 = document.getElementById('input_52_22').value;
var value2 = document.getElementById('input_52_100').value;
var value3 = document.getElementById('input_52_95').value;
// var value4 = document.getElementById('input_52_96').value;

if (value1 > 0 ) {
document.getElementById('rate').style.display = "none";
document.getElementById('pay-plans').style.display = "none";
document.getElementById('field_52_116').style.display = "none";

} else if (value1 === 0 ) {
document.getElementById('field_52_116').style.display = "block";
}
if (value2 > 0 ) {
document.getElementById('rate').style.display = "none";
document.getElementById('pay-plans').style.display = "none";
document.getElementById('field_52_116').style.display = "none";

} else if (value2 === 0 ) {
document.getElementById('field_52_116').style.display = "block";
}
if (value3 > 0 ) {
document.getElementById('rate').style.display = "none";
document.getElementById('pay-plans').style.display = "none";
document.getElementById('field_52_116').style.display = "none";

} else if (value3 === 0 ) {
document.getElementById('field_52_116').style.display = "block";
}
if (value1 && value2 && value3 == 0 ) {
document.getElementById('field_52_116').style.display = "block";
}
}
);

最佳答案

到处听每一次点击,然后检查你要找的元素是否被点击:

document.body.addEventListener("click", function(event){
const goCheck = document.getElementById('input_52_65_chosen');
let el = event.target;
while(el && el !== goCheck) el = el.parentElement;
if(!el) return;
//...
});

关于javascript - 等待元素存在于页面上,然后触发点击功能(纯 JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53017148/

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