gpt4 book ai didi

javascript - 回调函数中的 setTimeout 不起作用

转载 作者:行者123 更新时间:2023-11-28 11:35:15 25 4
gpt4 key购买 nike

有人能发现下面代码中的问题吗

$(document).ready(function () {
$("#leftsettingswindow").on("keyup", "#fontsize2", function () {
setTimeout(function () {
var txtVal = this.value;
$('#content').css("font-size", txtVal + "%");
}, 3000);
});
});

这工作完美,

$(document).ready(function () {
$("#leftsettingswindow").on("keyup", "#fontsize2", function () {

var txtVal = this.value;
$('#content').css("font-size", txtVal + "%");

});
});

有什么想法吗?

最佳答案

this 不是局部变量,因此它不会保存在闭包中。您需要将局部变量绑定(bind)到它:

$(document).ready(function () {
$("#leftsettingswindow").on("keyup", "#fontsize2", function () {
var savedThis = this;
setTimeout(function () {
var txtVal = savedThis.value;
$('#content').css("font-size", txtVal + "%");
}, 3000);
});
});

关于javascript - 回调函数中的 setTimeout 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com