2015-07-17 3 views
2

Извините за мой плохой английский. Я использую плагин jQuery slick. Он содержит кодКак нефокусировать на jQuery for is (': focus')

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

консольные журналы верно, так как я могу видеть размытости не работает в («: размытость») Как может Я размываю все элементы в $ ползунке? Спасибо за помощь

Here скрипка. Мой код в конце блока js. Код плагина Subject находится в функции Slick.prototype.activateADA в конце плагина.

+0

Попытка 'blur()' интерактивно в консоли бессмысленна, поскольку выбор консоли, скорее всего, размыт любой сфокусированный элемент. Попробуйте записать на консоль, например. используя вместо этого 'console.log()'. –

+0

@TrueBlueAussie, даже этот код _. $ Slider.find ('*'). Each (function() { if ($ (this) .is (' : focus ')) { $ (this) .blur(); console.log ($ (this) .is (': focus ')); } }); –

+0

Можете ли вы предоставить скрипку? и, пожалуйста, обновите свои вопросы, а не вставляйте код в комментарии. – delueg

ответ

0

Я нашел решение. Я использовал старую версию jQuery 1.7. После обновления jQuery до 1.9 размытия работает.