Javascript jQuery:fire回调仅一次
如何告诉jQuery只启动一次回调函数Javascript jQuery:fire回调仅一次,javascript,jquery,ruby-on-rails,ruby-on-rails-5,Javascript,Jquery,Ruby On Rails,Ruby On Rails 5,如何告诉jQuery只启动一次回调函数 $(document).on('ready turbolinks:load', function callback_function() { console.log('callback function') // fired twice, on 'ready' and 'turbolinks:load' events }); 我希望在“ready”和“turbolinks:load”上调用callback_函数,但如果两个事件都发生在同一页上,则
$(document).on('ready turbolinks:load', function callback_function() {
console.log('callback function') // fired twice, on 'ready' and 'turbolinks:load' events
});
我希望在“ready”和“turbolinks:load”上调用callback_函数,但如果两个事件都发生在同一页上,则不能调用两次
编辑:我知道jQueryOne()函数,它实际上并没有回答这个问题。根据jQuery文档,“处理程序在每个事件类型的每个元素中最多执行一次。”我希望相反:处理程序在所有事件类型中执行一次。您可以通过使用和使用计数器来解除回调的绑定,以获得最大的重复次数。对每个事件执行一次回调,这是不可取的
let count=0;
函数callbackWithCounter(事件){
如果(计数+>=1){
$(此).off(事件)
返回;
}
控制台日志(“点击按钮”+计数);
}
函数simpleCallback(事件){
控制台日志(“点击按钮”);
}
$(“#clickme”).1(“Clickmousedown mouseup”,simpleCallback);
$(“#clickme two”)。打开(“单击鼠标向下移动鼠标,使用计数器回调”)代码>
使用.one单击我
单击带计数器的“我”和.off
您可以通过使用和使用计数器来解除回调绑定,以获得最大重复次数。对每个事件执行一次回调,这是不可取的
let count=0;
函数callbackWithCounter(事件){
如果(计数+>=1){
$(此).off(事件)
返回;
}
控制台日志(“点击按钮”+计数);
}
函数simpleCallback(事件){
控制台日志(“点击按钮”);
}
$(“#clickme”).1(“Clickmousedown mouseup”,simpleCallback);
$(“#clickme two”)。打开(“单击鼠标向下移动鼠标,使用计数器回调”)代码>
使用.one单击我
单击带计数器的我并关闭