我正在努力找出为什么setTimeout
函数在尝试运行时找不到我的单选按钮标记function。
这是我的代码……
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); }
https://pastebin.com/nvacxZGS
我基本上只是寻找带有类无线电的跨度,并添加另一个带有无线电加上索引的类。
我之所以使用setInterval是因为当它第一次尝试触发时,因为它们是通过jquery插入的,因此没有到位。所以在doc.ready期间没有完成。
任何帮助都会很棒
您正在将一个字符串传递给setInterval
,因此它在不同的范围内被唤醒。 由于您要查找的function是本地范围,因此无法找到它。
不要将字符串传递给setInterval
,传递函数。
试试这个
setTimeout(function(){ radioButtonTagging() },2000);
尝试:setTimeout(radioButtonTagging,2000);
见这里: http : //jsfiddle.net/qUAZf/
以上就是jQuery教程分享function未定义?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561544.html