我很难找出为什么setTimeout
函数在尝试运行时无法找到我的单选按钮标记功能。
这是我的代码......
var radioButtonTagging = (function(){
console.log('run');
$("span.radio").each(function(i, ele){
$(ele).addClass('radio'+i);
});
$(".radio1").click(function(){
console.log('fired');
$('#expandQuestion1').css('display','block');
});
});
if($('span.radio').length){
console.log('run');
radioButtonTagging();
} else {
console.log('trying to run timer');
setTimeout("radioButtonTagging()",2000);
}
我基本上只是在寻找带有类无线电的跨度,并添加另一个带有无线电加上索引的类。
我之所以使用setInterval,是因为当它第一次尝试触发时,因为它们是通过jquery插入的,因此没有到位。所以在doc.ready期间没有完成..
任何帮助都会很棒
答案 0 :(得分:6)
您正在将字符串传递给setInterval
,因此它会在不同的范围内传播。由于您要查找的功能是本地范围的,因此无法找到它。
不要将字符串传递给setInterval
,传递函数。
答案 1 :(得分:0)
试试这个
setTimeout(function(){ radioButtonTagging() },2000);
答案 2 :(得分:0)
尝试: setTimeout(radioButtonTagging,2000);