我试图在点击按钮时按下按钮点击延迟函数调用,当你点击按钮时它应该延迟3到5秒钟才能调用该函数。这是我的片段:
jQuery(document).ready(function(){
$('#myButton').on('click', myFunction);
setTimeout(function() {
myFunction();
}, 5000);
function myFunction() {
var text = $(".total").text();
alert(text);
}
});
如何才能正确使用仅在按下按钮5秒钟时调用该功能?
答案 0 :(得分:1)
问题是因为您向点击处理程序提供了对myFunction()
的引用,因此会立即调用它。
相反,您需要将setTimeout()
调用放入您提供给click
的匿名函数中。您还需要将myFunction()
定义放在window
的范围内,以便setTimeout()
调用它。试试这个:
$(function() {
$('#myButton').on('click', function() {
setTimeout(myFunction, 5000);
});
});
function myFunction() {
var text = $(".total").text();
alert(text);
}
答案 1 :(得分:1)
您可以尝试下面的代码,我在您的代码段中做了一些更改:
jQuery(document).ready(function(){
$('#myButton').on('click', function(){
setTimeout(myFunction, 5000);
});
function myFunction() {
var text = $(".total").text();
alert(text);
}
});
答案 2 :(得分:0)
jQuery(document).ready(function(){
$('#myButton').on('click', myFunction);
function myFunction() {
setTimeout(function(){
var text = $(".total").text();
alert(text);
}, 5000);
}
});