Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:fire回调仅一次_Javascript_Jquery_Ruby On Rails_Ruby On Rails 5 - Fatal编程技术网

Javascript jQuery:fire回调仅一次

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_函数,但如果两个事件都发生在同一页上,则

如何告诉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_函数,但如果两个事件都发生在同一页上,则不能调用两次


编辑:我知道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单击我
单击带计数器的我并关闭