对于 is(':focus') 如何不关注 jQuery

How unfocus on jQuery for is(':focus')

抱歉我的英语不好。 我正在使用 jQuery 插件 slick。它包含一些代码

_isSlideOnFocus =_.$slider.find('*').is(':focus');
...
if(_isSlideOnFocus) {
    //some code that i don't want to execute
}

插件提供了在上层代码执行之前执行回调的能力。所以我可以取消焦点元素,但我不知道如何。

在上层代码之前的浏览器控制台中,我尝试

_.$slider.find('*').blur();
_.$slider.find('*').each(function() {$(this).blur()});
_.$slider.find('*').trigger('blur');

但它不起作用。

我在控制台中尝试

_.$slider.find(':focus'); //empty jQuery object

_.$slider.find('*').each(function() {
    console.log($(this).is(':focus')); //false for all elements
});

_.$slider.find('*').is(':focus') //but this one returns true

就算我试试

_.$slider.find('*').each(function() {
        if($(this).is(':focus')) {
            $(this).blur();
            console.log($(this).is(':focus'));
        }
 });

控制台记录为真,所以我可以看到模糊不适用于 is(':blur') 我如何模糊 $slider 中的所有元素?感谢您的帮助

Here fiddle。我的代码在 js 块的末尾。主题插件代码在插件末尾的Slick.prototype.activateADA函数中。

我找到了解决办法。我使用的是旧的 jQuery 版本 1.7。将 jQuery 更新到 1.9 后模糊效果。

我这样做了:

$('.ui-slider-handle').blur();