gpt4 book ai didi

javascript - 从另一个函数获取 $this 值

转载 作者:行者123 更新时间:2023-11-28 16:13:07 27 4
gpt4 key购买 nike

我的 javascript 文件中有这些行,并且运行良好。

handleInput = function(e) {
var $this = $(this),
id = $this.attr("id");
alert(id);
}

....

something.bind("keyup", handleInput);

然后我决定延迟输入功能并添加以下几行:

handleDelayedInput = function(e) {
setTimeout(handleInput(e), 50);
}

.....

something.bind("keyup", handleDelayedInput);

但现在 alert(id); 表示未定义,因为我认为我无法将 this 传递给该函数。

我说得对吗?我该如何修复?有没有更好的方法来做到这一点?

最佳答案

这是因为您不再像从 jQuery 绑定(bind)方法调用它时那样传递 handleInput 任何对象上下文。就我个人而言,我会像这样重写整个事情:

something.on("keyup", function(e) {
var obj = $(this);
setTimeout(function(obj) {
alert(obj.attr("id");
}, 50);
});

请注意使用 on() 而不是 bind(),后者是现在的首选用法。

关于javascript - 从另一个函数获取 $this 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12288931/

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