2011-10-28 2 views
0

У меня есть следующая странная проблема с «загрузочным gif», который я хочу отобразить в строке поиска, когда пользователь нажимает Enter. Код работает на mozilla и т. Д. 7 на localhost, но только на mozilla на моем cpanel ... У вас есть ключ? Извините, если это выглядит очевидной :) здесь код, путь является динамическим, но, конечно, правильно:jQuery, т. Е. Проблема ввода текста

$('#searchField').focus(function(){ 
     $(this).keypress(function(event) { 
      if (event.which == 13) { 
       $(this).css('background-image', 'url("/dvt/public/images/ajaxLoader.gif")'); 
      } 
     }); 
    }); 

Большое спасибо

+0

Попробуйте предварительно загрузить изображение. – epascarello

+0

попытайтесь использовать 'event.keyCode' вместо' event.which' – gustavotkg

ответ

1

Надень это, чтобы получить ваше мероприятие:

if (!event) 
    var event = window.event; 
var code = event.which || event.keyCode; 

Другое в IE и firefox

+2

Это использует jQuery, который нормализует событие и передает его в обработчики в качестве первого параметра. Он также нормализует свойство события, которое содержит информацию о нажатии клавиши. – JAAulde

+0

спасибо, но я не знаю, действительно ли это событие, когда я нажимаю Enter, т.е. изображение, которое должно быть заменено ajaxLoader, просто исчезает, и загрузчик не появляется ... –

1

Что касается вашего изображения, мне кажется, что URL-адрес изображения будет /images/ajaxLoader.gif как /dvt/public выглядит как путь корня doc. С изображением на вашем сервере, какой URL-адрес вы разместите в браузере? Кроме того, вы можете вытащить двойные кавычки из url() в CSS.

Для события и клавиатурного измените имя вашего параметра события (попробуйте e для начинающих), чтобы избежать столкновений с глобальным пространством имен, а затем использовать e.which, согласно jQueryfn.keypress docs.

+1

Думаю, вам следует использовать 'e.which'. – pimvdb

+0

good catch - копия вклеена и забыла изменить. :) – JAAulde

+0

Спасибо всем за подсказки, дело в том, что это приложение zend, поэтому я использовал помощник вида для корневого пути как echo $ this-> baseUrl(). Я пробовал несколько относительных путей (без двойных кавычек), таких как ../images/ajaxLoader.gif и /images/ajaLoader.gif. Единственный, который работает в IE на сервере, - это полный путь: http://xxxx.org/dvt/public/images/ajaxLoader.gif –

Смежные вопросы