我从未使用过setInterval()
,我需要一些建议,因为我无法理解这一点。我想创建某种事件监听器。
例如,我想检查选择菜单中选项的长度,但是第三方脚本通过 Ajax 请求填充选择菜单的内容。不幸的是,我不允许触摸第三方脚本,所以我想有一个功能来等待和监听要添加的内容,然后可以执行它的任务。
假设我的网页上有以下内容:
<select size="7" id="cat"> </select>
onload 这充满了这样的选项:
<option value="Category 1">Category 1</option>
<option value="Category 2">Category 2</option>
<option value="Category 3">Category 3</option>
<option value="Category 4">Category 4</option>
我打算添加一个函数,该函数还加载 onLoad (或 $(document).ready() 准确地说),它将监听选项的长度,如果大于零,我们希望做一些事情(在这个例子中是一个警报)
function checkLen(){
if($('#cat option').size() > 0){
return true;
}else{
return false;
}
}
function takeDefault(){
var ourInterval = setInterval("checkLen();", 1000);
if(ourInterval == true){
alert("Okay I will do something now");
clearInterval(ourInterval);
}
// Now I will perform some other tasks
}
$(document).ready(function() {
takeDefault();
});
现在这不起作用,因为我不太明白。if(checkLen == True) 条件只执行一次,我需要每秒执行一次,直到填充选择菜单。