抱歉我的英语不好。 我正在使用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函数中。
答案 0 :(得分:0)
我找到了解决方案。我使用的是旧的jQuery 1.7版。将jQuery更新为1.9后,模糊工作。
答案 1 :(得分:0)
我这样做了:
$('.ui-slider-handle').blur();