如何不专注于jQuery(':焦点')

时间:2015-07-17 13:49:23

标签: javascript jquery focus blur

抱歉我的英语不好。 我正在使用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'));
        }
 });

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

Here小提琴。我的代码在js块的末尾。主题插件代码位于插件末尾的Slick.prototype.activateADA函数中。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。我使用的是旧的jQuery 1.7版。将jQuery更新为1.9后,模糊工作。

答案 1 :(得分:0)

我这样做了:

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