javascript - 对 jQuery 的不关注是 (':focus' )

标签 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,因此我可以看到模糊不适用于 is(':blur') 如何模糊 $slider 中的所有元素?感谢您的帮助

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

最佳答案

我已经找到解决办法了。我使用的是旧的 jQuery 版本 1.7。将 jQuery 更新到 1.9 后模糊可以工作。

关于javascript - 对 jQuery 的不关注是 (':focus' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477401/

相关文章:

javascript - 保留表单提交上的下拉值

javascript - 验证格式化的 "time"

javascript - Jquery 方法仅触发一次

android - 编辑文本焦点更改监听器

c# - WPF 保持键盘焦点

Javascript焦点删除文本突出显示

javascript - 当用户单击提交按钮时如何显示用户输入。当用户单击清除按钮时也会清除消息。 (Angularjs)

javascript - js 将数据发布到 Rails 并刷新 View

javascript - 未捕获的语法错误 : Unexpected identifier in Object Literal

javascript - JQuery 在 Chrome 中无法运行,但在 Firefox 中可以正常运行