: содержит () отлично работает в Opera, IE (7,8) и Chrome, но в Firefox - PullRequest
1 голос
/ 06 октября 2010

Я написал поисковый фильтр.Он показывает / скрывает некоторые миниатюры в видео галерее на основе текста, введенного в поле ввода.В поле ввода есть событие keyUp.

$('.videoSearch').keyup(function(e){
  var searchString = $(e.srcElement).val();
  var el = $($(e.srcElement).parents().find('.videoThumbs').first());
  $(el).find(".title:not(:contains('"+searchString+"'))").each(function(i,e){
   $(e).parent().parent().parent().parent().parent().parent().fadeOut(300);
  });
  $(el).find(".title:contains('"+searchString+"')").each(function(i,e){
   $(e).parent().parent().parent().parent().parent().parent().fadeIn(300);
  });
 });

Отлично работает в Opera, IE (7,8) и Chrome, но в Firefox.Событие keyUp срабатывает, как и ожидалось (также в Firefox), но большие пальцы не скрываются.Firebug не регистрирует ошибок в консоли.

Любая помощь будет принята с благодарностью Заранее спасибо \ JePpE

1 Ответ

0 голосов
/ 06 октября 2010

В качестве обходного пути вы можете использовать функцию filter и кодировать критерии вручную:

$(".title").filter(function() { return $(this).html().indexOf(searchString) < 0; })
    .each (...);

Должно работать под любым браузером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...