我有点击元素的处理程序。它陷入无限循环。如何在此代码中关闭第二次点击的监听器......这样它就不会一直重复。
我尝试在4.5秒后自动关闭切换按钮。但是,关闭点击会触发另一次点击...依此类推......
$(document).ready(function(){
$(".navbar-toggle").click(function() {
setTimeout(function () {
$(".navbar-toggle").click();
}, 4500);
});
});
答案 0 :(得分:1)
在代码中添加'flag'变量
def count_inner_arrays(arr)
sub_arrays = arr.select { |el| el.is_a? Array }
sub_arrays.empty? ? 1 : sub_arrays.map(&method(:count_inner_arrays)).inject(0, :+)
end
答案 1 :(得分:1)
$(function(){
function callback2(){
$("#test").one("click", callback1);
}
function callback1(){
console.log('hi');
setTimeout(callback2, 4500);
}
$("#test").one("click", callback1);
});
这与你想要的相似吗?
使用.one()
附加只执行一次的点击事件,
在回调函数中执行任何操作,并在4.5秒后再次附加它。如果你甚至无法修改你的代码,请告诉我,我会尝试考虑另外的工作
答案 2 :(得分:0)
这就是我现在要做的事情,虽然我相信当我有更多时间时会使用shole的方法......现在这种方法运作良好。
var is_open = false;
$(document).ready(function(){
$(".navbar-toggle").click(function() {
if(!is_open){
setTimeout(function () {
is_open = true;
$(".navbar-toggle").click();
is_open = false;
}, 3500);
}
});
});