首页 > 解决方案 > 使用setTimeOut后函数不显示父类 - jQuery

问题描述

在显示父元素类的函数中使用 setTimeout 后,结果 inconsole.log未定义。

用户在输入中触发模糊后,如何检查类?

jsfiddle

    <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);
    })

标签: javascriptjquery

解决方案


您正在丢失this该函数的指针,您可以使用未绑定到的箭头函数this

jQuery('body').on('blur', '.field-wrapper input.field-item', function () {
    setTimeout(() => {
        console.log($(this).closest('.field-wrapper').attr('class'));
    }, 1200);
})

推荐阅读