javascript - 使用setTimeOut后函数不显示父类 - jQuery
问题描述
在显示父元素类的函数中使用 setTimeout 后,结果 inconsole.log
未定义。
用户在输入中触发模糊后,如何检查类?
<div class="field-wrapper field-pristine">
<input type="text" class="field-item" value="test">
</div>
jQuery('body').on('blur', '.field-wrapper input.field-item', function() {
setTimeout(function(){
console.log($( this ).closest('.field-wrapper').attr('class'));
}, 1200);
})
解决方案
您正在丢失this
该函数的指针,您可以使用未绑定到的箭头函数this
jQuery('body').on('blur', '.field-wrapper input.field-item', function () {
setTimeout(() => {
console.log($(this).closest('.field-wrapper').attr('class'));
}, 1200);
})
推荐阅读
- php - 将我的自定义帖子类型从插件添加到我的搜索结果
- python-3.x - 是否有 Python 函数将二维数组的行(或列)的长度输出为可用整数?
- ssl - 如何在 esp32 sdk 示例 ssl_mutual_auth 中使用 https://test.mosquitto.org/ssl/index.php 生成客户端证书?
- javascript - Fitbit API 的 OAuth2 隐式与授权代码授予
- c - 如何确定结构的成员是否已设置?
- c# - 如何将 IConfiguration 绑定到在构造函数中具有参数的类
- azure-devops - 使用 Azure DevOps 恢复 EfCore 迁移
- javascript - 为什么 querySelectorAll 不选择所有(“li”)元素?
- django - 如何只允许管理员(或某些用户)在 Django 中编辑页面?
- node.js - 为什么要在 node/express 中的 websocket 服务器中挂接 httpserver?