Javascript 如何使用setInterval()作为事件侦听器
我从未使用过setInterval,我需要一些建议,因为我无法理解这一点。我想创建某种类型的事件侦听器 例如,我想检查选择菜单中选项的长度,但是第三方脚本通过Ajax请求填充选择菜单的内容。不幸的是,我不允许接触第三方脚本,所以我考虑使用一个函数来等待和侦听添加的内容,然后执行它的任务 假设我的网页上有以下内容:Javascript 如何使用setInterval()作为事件侦听器,javascript,jquery,Javascript,Jquery,我从未使用过setInterval,我需要一些建议,因为我无法理解这一点。我想创建某种类型的事件侦听器 例如,我想检查选择菜单中选项的长度,但是第三方脚本通过Ajax请求填充选择菜单的内容。不幸的是,我不允许接触第三方脚本,所以我考虑使用一个函数来等待和侦听添加的内容,然后执行它的任务 假设我的网页上有以下内容: <select size="7" id="cat"> </select> 现在我不太明白这是怎么回事。ifcheckLen==True条件只执行一次,我需要每
<select size="7" id="cat"> </select>
现在我不太明白这是怎么回事。ifcheckLen==True条件只执行一次,我需要每隔一秒执行一次,直到选择菜单被填充。ourInterval不是setInterval执行的函数的返回值。它是可用于取消间隔的值
其次,与其每隔一段时间进行检查,为什么不在输入上注册一个侦听器,并在它发生变化时做些什么呢
差不多
ourInterval不是setInterval执行的函数的返回值。它是可用于取消间隔的值
其次,与其每隔一段时间进行检查,为什么不在输入上注册一个侦听器,并在它发生变化时做些什么呢
差不多
为了简单起见,我使用了不同的元素,但想法仍然相同:
var listen = setInterval(function () {
if ($('input').val().length > 0) {
console.log('has changed, should call callback');
clearInterval(listen);
}
}, 1000);
对于您的情况,这应该类似于未经测试:
function takeDefault(){
var ourInterval = setInterval(function () {
if ($('#cat option').size() > 0) {
alert("Okay I will do something now");
clearInterval(ourInterval);
}
}, 1000);
// Now I will perform some other tasks
}
为了简单起见,我使用了不同的元素,但想法仍然相同:
var listen = setInterval(function () {
if ($('input').val().length > 0) {
console.log('has changed, should call callback');
clearInterval(listen);
}
}, 1000);
对于您的情况,这应该类似于未经测试:
function takeDefault(){
var ourInterval = setInterval(function () {
if ($('#cat option').size() > 0) {
alert("Okay I will do something now");
clearInterval(ourInterval);
}
}, 1000);
// Now I will perform some other tasks
}
setInterval不需要使用字符串,只要有setIntervalchecklen,1000;setInterval不需要使用字符串,只要有setIntervalchecklen,1000;对不起,我的代码有误,我现在已经修改了。。。Sorry请注意,更改事件发生在元素值更改时,而不是innerHTML/内容更改时。很抱歉,这是我代码中的一个输入错误,我现在已对其进行了修改。。。Sorry请注意,更改事件发生在元素值更改时,而不是innerHTML/内容更改时。